YES 7.955 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a) :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord a => FiniteMap a b  ->  b  ->  a  ->  b
lookupWithDefaultFM fm deflt key 
case lookupFM fm key of
  Nothing-> deflt
  Just elt-> elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b) :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key 
case lookupFM fm key of
  Nothing-> deflt
  Just elt-> elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case lookupFM fm key of
 Nothing → deflt
 Just elt → elt

is transformed to
lookupWithDefaultFM0 deflt Nothing = deflt
lookupWithDefaultFM0 deflt (Just elt) = elt

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b) :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a) :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a) :: Ord b => FiniteMap (Maybe b) a  ->  a  ->  Maybe b  ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find

lookupFM1 key elt vx fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False = lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

lookupFM2 key elt vx fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False = lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

lookupFM0 key elt vx fm_l fm_r key_to_find True = Just elt

lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find = lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 vvu vvv = lookupFM3 vvu vvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz

gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vww vwx = gcd3 vww vwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

gcd1 True vww vwx = error []
gcd1 vwy vwz vxu = gcd0 vwz vxu

gcd2 True vww vwx = gcd1 (vwx == 0) vww vwx
gcd2 vxv vxw vxx = gcd0 vxw vxx

gcd3 vww vwx = gcd2 (vww == 0) vww vwx
gcd3 vxy vxz = gcd0 vxy vxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b) :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 vyu vyv x y True = error []
reduce2Reduce1 vyu vyv x y False = reduce2Reduce0 vyu vyv x y otherwise

reduce2Reduce0 vyu vyv x y True = x `quot` reduce2D vyu vyv :% (y `quot` reduce2D vyu vyv)

reduce2D vyu vyv = gcd vyu vyv

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

are unpacked to the following functions on top level
gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd' x vvw = gcd0Gcd'2 x vvw
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'1 True x vvw = x
gcd0Gcd'1 vvx vvy vvz = gcd0Gcd'0 vvy vvz

gcd0Gcd'2 x vvw = gcd0Gcd'1 (vvw == 0) x vvw
gcd0Gcd'2 vwu vwv = gcd0Gcd'0 vwu vwv



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((lookupWithDefaultFM :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b) :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord a => FiniteMap a b  ->  b  ->  a  ->  b
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (lookupWithDefaultFM :: Ord a => FiniteMap (Maybe a) b  ->  b  ->  Maybe a  ->  b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat(vyw5000, vyw30000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vyw8900), Succ(vyw3001000)) → new_primPlusNat(vyw8900, vyw3001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vyw50100), Succ(vyw300100)) → new_primMulNat(vyw50100, Succ(vyw300100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vyw310000), Succ(vyw320000)) → new_primCmpNat(vyw310000, vyw320000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs3(Just(vyw500), Just(vyw3000), app(app(ty_@2, bdc), bdd)) → new_esEs0(vyw500, vyw3000, bdc, bdd)
new_esEs2(Left(vyw500), Left(vyw3000), app(ty_[], baf), bag) → new_esEs(vyw500, vyw3000, baf)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(ty_@2, bb), bc)) → new_esEs0(vyw500, vyw3000, bb, bc)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, app(app(app(ty_@3, gg), gh), ha), gd) → new_esEs1(vyw501, vyw3001, gg, gh, ha)
new_esEs2(Right(vyw500), Right(vyw3000), bbh, app(ty_[], bca)) → new_esEs(vyw500, vyw3000, bca)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, eh, app(app(ty_Either, fh), ga)) → new_esEs2(vyw502, vyw3002, fh, ga)
new_esEs2(Left(vyw500), Left(vyw3000), app(app(ty_@2, bah), bba), bag) → new_esEs0(vyw500, vyw3000, bah, bba)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(ty_Either, bac), bad), eh, gd) → new_esEs2(vyw500, vyw3000, bac, bad)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(ty_Either, ed), ee), df) → new_esEs2(vyw500, vyw3000, ed, ee)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, app(ty_Maybe, hd), gd) → new_esEs3(vyw501, vyw3001, hd)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cb, app(app(app(ty_@3, cf), cg), da)) → new_esEs1(vyw501, vyw3001, cf, cg, da)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, eh, app(app(app(ty_@3, fd), ff), fg)) → new_esEs1(vyw502, vyw3002, fd, ff, fg)
new_esEs2(Left(vyw500), Left(vyw3000), app(app(ty_Either, bbe), bbf), bag) → new_esEs2(vyw500, vyw3000, bbe, bbf)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, eh, app(app(ty_@2, fb), fc)) → new_esEs0(vyw502, vyw3002, fb, fc)
new_esEs3(Just(vyw500), Just(vyw3000), app(app(ty_Either, bdh), bea)) → new_esEs2(vyw500, vyw3000, bdh, bea)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, app(app(ty_Either, hb), hc), gd) → new_esEs2(vyw501, vyw3001, hb, hc)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(ty_@2, hf), hg), eh, gd) → new_esEs0(vyw500, vyw3000, hf, hg)
new_esEs2(Right(vyw500), Right(vyw3000), bbh, app(app(ty_@2, bcb), bcc)) → new_esEs0(vyw500, vyw3000, bcb, bcc)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cb, app(ty_[], cc)) → new_esEs(vyw501, vyw3001, cc)
new_esEs2(Right(vyw500), Right(vyw3000), bbh, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs1(vyw500, vyw3000, bcd, bce, bcf)
new_esEs3(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs1(vyw500, vyw3000, bde, bdf, bdg)
new_esEs3(Just(vyw500), Just(vyw3000), app(ty_[], bdb)) → new_esEs(vyw500, vyw3000, bdb)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(app(ty_@3, hh), baa), bab), eh, gd) → new_esEs1(vyw500, vyw3000, hh, baa, bab)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), h) → new_esEs(vyw501, vyw3001, h)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, eh, app(ty_Maybe, gb)) → new_esEs3(vyw502, vyw3002, gb)
new_esEs2(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, bbb), bbc), bbd), bag) → new_esEs1(vyw500, vyw3000, bbb, bbc, bbd)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(app(ty_@3, bd), be), bf)) → new_esEs1(vyw500, vyw3000, bd, be, bf)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(ty_Either, bg), bh)) → new_esEs2(vyw500, vyw3000, bg, bh)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cb, app(ty_Maybe, dd)) → new_esEs3(vyw501, vyw3001, dd)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cb, app(app(ty_Either, db), dc)) → new_esEs2(vyw501, vyw3001, db, dc)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(ty_Maybe, ef), df) → new_esEs3(vyw500, vyw3000, ef)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(ty_Maybe, bae), eh, gd) → new_esEs3(vyw500, vyw3000, bae)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(ty_[], he), eh, gd) → new_esEs(vyw500, vyw3000, he)
new_esEs2(Right(vyw500), Right(vyw3000), bbh, app(app(ty_Either, bcg), bch)) → new_esEs2(vyw500, vyw3000, bcg, bch)
new_esEs3(Just(vyw500), Just(vyw3000), app(ty_Maybe, beb)) → new_esEs3(vyw500, vyw3000, beb)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(ty_Maybe, ca)) → new_esEs3(vyw500, vyw3000, ca)
new_esEs2(Right(vyw500), Right(vyw3000), bbh, app(ty_Maybe, bda)) → new_esEs3(vyw500, vyw3000, bda)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(ty_@2, dg), dh), df) → new_esEs0(vyw500, vyw3000, dg, dh)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(ty_[], de), df) → new_esEs(vyw500, vyw3000, de)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(app(ty_@3, ea), eb), ec), df) → new_esEs1(vyw500, vyw3000, ea, eb, ec)
new_esEs2(Left(vyw500), Left(vyw3000), app(ty_Maybe, bbg), bag) → new_esEs3(vyw500, vyw3000, bbg)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, app(app(ty_@2, ge), gf), gd) → new_esEs0(vyw501, vyw3001, ge, gf)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, eh, app(ty_[], fa)) → new_esEs(vyw502, vyw3002, fa)
new_esEs0(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cb, app(app(ty_@2, cd), ce)) → new_esEs0(vyw501, vyw3001, cd, ce)
new_esEs1(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), eg, app(ty_[], gc), gd) → new_esEs(vyw501, vyw3001, gc)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(ty_[], ba)) → new_esEs(vyw500, vyw3000, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), app(app(ty_@2, bcf), bcg), bcb) → new_lt2(vyw31000, vyw32000, bcf, bcg)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), app(ty_[], bch), bcb) → new_lt3(vyw31000, vyw32000, bch)
new_ltEs1(Left(vyw31000), Left(vyw32000), app(app(ty_@2, gh), ha), gd) → new_ltEs2(vyw31000, vyw32000, gh, ha)
new_ltEs1(Left(vyw31000), Left(vyw32000), app(app(ty_Either, gf), gg), gd) → new_ltEs1(vyw31000, vyw32000, gf, gg)
new_ltEs1(Left(vyw31000), Left(vyw32000), app(ty_Maybe, ge), gd) → new_ltEs0(vyw31000, vyw32000, ge)
new_compare20(Just(Right(vyw31000)), Just(Right(vyw32000)), False, app(app(ty_Either, hc), app(app(ty_Either, hh), baa))) → new_ltEs1(vyw31000, vyw32000, hh, baa)
new_compare20(Just(Left(vyw31000)), Just(Left(vyw32000)), False, app(app(ty_Either, app(app(app(ty_@3, ga), gb), gc)), gd)) → new_ltEs(vyw31000, vyw32000, ga, gb, gc)
new_compare3(vyw31000, vyw32000, ea) → new_compare20(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, ea), ea)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, app(app(ty_Either, bbb), bbc)) → new_ltEs1(vyw31001, vyw32001, bbb, bbc)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), app(app(ty_Either, bcd), bce), bcb) → new_lt1(vyw31000, vyw32000, bcd, bce)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, app(ty_[], bch)), bcb)) → new_lt3(vyw31000, vyw32000, bch)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, app(app(app(ty_@3, bbg), bbh), bca)), bcb)) → new_lt(vyw31000, vyw32000, bbg, bbh, bca)
new_ltEs0(Just(vyw31000), Just(vyw32000), app(ty_Maybe, fb)) → new_ltEs0(vyw31000, vyw32000, fb)
new_compare20(Just(Left(vyw31000)), Just(Left(vyw32000)), False, app(app(ty_Either, app(ty_Maybe, ge)), gd)) → new_ltEs0(vyw31000, vyw32000, ge)
new_compare20(Just(Right(vyw31000)), Just(Right(vyw32000)), False, app(app(ty_Either, hc), app(app(ty_@2, bab), bac))) → new_ltEs2(vyw31000, vyw32000, bab, bac)
new_primCompAux(vyw31000, vyw32000, vyw88, app(ty_[], beb)) → new_compare(vyw31000, vyw32000, beb)
new_ltEs3(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bda) → new_compare(vyw31001, vyw32001, bda)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, app(app(app(ty_@3, df), dg), dh)), ba), cf)) → new_compare2(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_compare20(Just(Left(vyw31000)), Just(Left(vyw32000)), False, app(app(ty_Either, app(app(ty_Either, gf), gg)), gd)) → new_ltEs1(vyw31000, vyw32000, gf, gg)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, app(app(ty_Either, bcd), bce)), bcb)) → new_lt1(vyw31000, vyw32000, bcd, bce)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), ba), app(app(ty_@2, bh), ca))) → new_ltEs2(vyw31002, vyw32002, bh, ca)
new_compare20(Just(Left(vyw31000)), Just(Left(vyw32000)), False, app(app(ty_Either, app(app(ty_@2, gh), ha)), gd)) → new_ltEs2(vyw31000, vyw32000, gh, ha)
new_ltEs1(Right(vyw31000), Right(vyw32000), hc, app(ty_Maybe, hg)) → new_ltEs0(vyw31000, vyw32000, hg)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), ba), app(ty_Maybe, be))) → new_ltEs0(vyw31002, vyw32002, be)
new_ltEs0(Just(vyw31000), Just(vyw32000), app(ty_[], fh)) → new_ltEs3(vyw31000, vyw32000, fh)
new_ltEs1(Right(vyw31000), Right(vyw32000), hc, app(app(app(ty_@3, hd), he), hf)) → new_ltEs(vyw31000, vyw32000, hd, he, hf)
new_lt1(vyw31000, vyw32000, eb, ec) → new_compare21(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), app(app(app(ty_@3, bbg), bbh), bca), bcb) → new_lt(vyw31000, vyw32000, bbg, bbh, bca)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, app(app(app(ty_@3, cc), cd), ce), cf) → new_lt(vyw31001, vyw32001, cc, cd, ce)
new_compare20(Just(Right(vyw31000)), Just(Right(vyw32000)), False, app(app(ty_Either, hc), app(app(app(ty_@3, hd), he), hf))) → new_ltEs(vyw31000, vyw32000, hd, he, hf)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, app(ty_[], cb)) → new_ltEs3(vyw31002, vyw32002, cb)
new_compare20(Just(:(vyw31000, vyw31001)), Just(:(vyw32000, vyw32001)), False, app(ty_[], bda)) → new_compare(vyw31001, vyw32001, bda)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, app(ty_[], de), cf) → new_lt3(vyw31001, vyw32001, de)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), app(ty_Maybe, cg)), cf)) → new_lt0(vyw31001, vyw32001, cg)
new_compare2(vyw31000, vyw32000, False, df, dg, dh) → new_ltEs(vyw31000, vyw32000, df, dg, dh)
new_ltEs1(Left(vyw31000), Left(vyw32000), app(ty_[], hb), gd) → new_ltEs3(vyw31000, vyw32000, hb)
new_ltEs1(Right(vyw31000), Right(vyw32000), hc, app(app(ty_Either, hh), baa)) → new_ltEs1(vyw31000, vyw32000, hh, baa)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), app(ty_[], ef), ba, cf) → new_compare(vyw31000, vyw32000, ef)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), app(app(app(ty_@3, df), dg), dh), ba, cf) → new_compare2(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, app(ty_Maybe, bcc)), bcb)) → new_lt0(vyw31000, vyw32000, bcc)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, app(app(app(ty_@3, bb), bc), bd)) → new_ltEs(vyw31002, vyw32002, bb, bc, bd)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, app(app(ty_@2, ed), ee)), ba), cf)) → new_compare22(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, ed, ee), ed, ee)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), app(ty_Maybe, bcc), bcb) → new_lt0(vyw31000, vyw32000, bcc)
new_compare4(vyw31000, vyw32000, eb, ec) → new_compare21(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), app(app(ty_@2, ed), ee), ba, cf) → new_compare22(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, ed, ee), ed, ee)
new_compare20(Just(Just(vyw31000)), Just(Just(vyw32000)), False, app(ty_Maybe, app(app(ty_Either, fc), fd))) → new_ltEs1(vyw31000, vyw32000, fc, fd)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, bae), app(app(ty_Either, bbb), bbc))) → new_ltEs1(vyw31001, vyw32001, bbb, bbc)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, app(app(ty_Either, eb), ec)), ba), cf)) → new_compare21(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_primCompAux(vyw31000, vyw32000, vyw88, app(app(ty_@2, bdh), bea)) → new_compare5(vyw31000, vyw32000, bdh, bea)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, bae), app(app(ty_@2, bbd), bbe))) → new_ltEs2(vyw31001, vyw32001, bbd, bbe)
new_primCompAux(vyw31000, vyw32000, vyw88, app(app(app(ty_@3, bdb), bdc), bdd)) → new_compare1(vyw31000, vyw32000, bdb, bdc, bdd)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, bae), app(ty_[], bbf))) → new_ltEs3(vyw31001, vyw32001, bbf)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, app(app(ty_@2, bh), ca)) → new_ltEs2(vyw31002, vyw32002, bh, ca)
new_ltEs1(Right(vyw31000), Right(vyw32000), hc, app(app(ty_@2, bab), bac)) → new_ltEs2(vyw31000, vyw32000, bab, bac)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs(vyw31001, vyw32001, baf, bag, bah)
new_compare20(Just(Left(vyw31000)), Just(Left(vyw32000)), False, app(app(ty_Either, app(ty_[], hb)), gd)) → new_ltEs3(vyw31000, vyw32000, hb)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), app(app(ty_@2, dc), dd)), cf)) → new_lt2(vyw31001, vyw32001, dc, dd)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, app(ty_Maybe, ea)), ba), cf)) → new_compare20(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, ea), ea)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, app(ty_[], ef)), ba), cf)) → new_compare(vyw31000, vyw32000, ef)
new_ltEs1(Left(vyw31000), Left(vyw32000), app(app(app(ty_@3, ga), gb), gc), gd) → new_ltEs(vyw31000, vyw32000, ga, gb, gc)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), ba), app(ty_[], cb))) → new_ltEs3(vyw31002, vyw32002, cb)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), app(app(ty_Either, da), db)), cf)) → new_lt1(vyw31001, vyw32001, da, db)
new_compare20(Just(Just(vyw31000)), Just(Just(vyw32000)), False, app(ty_Maybe, app(app(ty_@2, ff), fg))) → new_ltEs2(vyw31000, vyw32000, ff, fg)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, app(ty_[], bbf)) → new_ltEs3(vyw31001, vyw32001, bbf)
new_lt2(vyw31000, vyw32000, ed, ee) → new_compare22(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, ed, ee), ed, ee)
new_compare20(Just(Just(vyw31000)), Just(Just(vyw32000)), False, app(ty_Maybe, app(ty_Maybe, fb))) → new_ltEs0(vyw31000, vyw32000, fb)
new_lt(vyw31000, vyw32000, df, dg, dh) → new_compare2(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_ltEs1(Right(vyw31000), Right(vyw32000), hc, app(ty_[], bad)) → new_ltEs3(vyw31000, vyw32000, bad)
new_compare1(vyw31000, vyw32000, df, dg, dh) → new_compare2(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_compare21(vyw31000, vyw32000, False, eb, ec) → new_ltEs1(vyw31000, vyw32000, eb, ec)
new_primCompAux(vyw31000, vyw32000, vyw88, app(app(ty_Either, bdf), bdg)) → new_compare4(vyw31000, vyw32000, bdf, bdg)
new_compare20(Just(:(vyw31000, vyw31001)), Just(:(vyw32000, vyw32001)), False, app(ty_[], bda)) → new_primCompAux(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bda), bda)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), app(app(ty_Either, eb), ec), ba, cf) → new_compare21(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, app(app(ty_@2, dc), dd), cf) → new_lt2(vyw31001, vyw32001, dc, dd)
new_compare20(Just(Right(vyw31000)), Just(Right(vyw32000)), False, app(app(ty_Either, hc), app(ty_[], bad))) → new_ltEs3(vyw31000, vyw32000, bad)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, app(ty_Maybe, cg), cf) → new_lt0(vyw31001, vyw32001, cg)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, app(ty_Maybe, bba)) → new_ltEs0(vyw31001, vyw32001, bba)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, app(ty_Maybe, be)) → new_ltEs0(vyw31002, vyw32002, be)
new_ltEs2(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, app(app(ty_@2, bbd), bbe)) → new_ltEs2(vyw31001, vyw32001, bbd, bbe)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), app(app(app(ty_@3, cc), cd), ce)), cf)) → new_lt(vyw31001, vyw32001, cc, cd, ce)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, app(app(ty_@2, bcf), bcg)), bcb)) → new_lt2(vyw31000, vyw32000, bcf, bcg)
new_compare(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bda) → new_compare(vyw31001, vyw32001, bda)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), ba), app(app(app(ty_@3, bb), bc), bd))) → new_ltEs(vyw31002, vyw32002, bb, bc, bd)
new_ltEs0(Just(vyw31000), Just(vyw32000), app(app(ty_Either, fc), fd)) → new_ltEs1(vyw31000, vyw32000, fc, fd)
new_compare20(Just(Just(vyw31000)), Just(Just(vyw32000)), False, app(ty_Maybe, app(ty_[], fh))) → new_ltEs3(vyw31000, vyw32000, fh)
new_lt3(vyw31000, vyw32000, ef) → new_compare(vyw31000, vyw32000, ef)
new_ltEs3(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bda) → new_primCompAux(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bda), bda)
new_compare(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bda) → new_primCompAux(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bda), bda)
new_ltEs0(Just(vyw31000), Just(vyw32000), app(app(ty_@2, ff), fg)) → new_ltEs2(vyw31000, vyw32000, ff, fg)
new_compare5(vyw31000, vyw32000, ed, ee) → new_compare22(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, ed, ee), ed, ee)
new_compare20(Just(Right(vyw31000)), Just(Right(vyw32000)), False, app(app(ty_Either, hc), app(ty_Maybe, hg))) → new_ltEs0(vyw31000, vyw32000, hg)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), app(ty_Maybe, ea), ba, cf) → new_compare20(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, ea), ea)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, bae), app(ty_Maybe, bba))) → new_ltEs0(vyw31001, vyw32001, bba)
new_compare20(Just(@2(vyw31000, vyw31001)), Just(@2(vyw32000, vyw32001)), False, app(app(ty_@2, bae), app(app(app(ty_@3, baf), bag), bah))) → new_ltEs(vyw31001, vyw32001, baf, bag, bah)
new_compare22(vyw31000, vyw32000, False, ed, ee) → new_ltEs2(vyw31000, vyw32000, ed, ee)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), ba), app(app(ty_Either, bf), bg))) → new_ltEs1(vyw31002, vyw32002, bf, bg)
new_compare20(Just(@3(vyw31000, vyw31001, vyw31002)), Just(@3(vyw32000, vyw32001, vyw32002)), False, app(app(app(ty_@3, h), app(ty_[], de)), cf)) → new_lt3(vyw31001, vyw32001, de)
new_ltEs0(Just(vyw31000), Just(vyw32000), app(app(app(ty_@3, eg), eh), fa)) → new_ltEs(vyw31000, vyw32000, eg, eh, fa)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, app(app(ty_Either, bf), bg)) → new_ltEs1(vyw31002, vyw32002, bf, bg)
new_compare20(Just(Just(vyw31000)), Just(Just(vyw32000)), False, app(ty_Maybe, app(app(app(ty_@3, eg), eh), fa))) → new_ltEs(vyw31000, vyw32000, eg, eh, fa)
new_primCompAux(vyw31000, vyw32000, vyw88, app(ty_Maybe, bde)) → new_compare3(vyw31000, vyw32000, bde)
new_lt0(vyw31000, vyw32000, ea) → new_compare20(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, ea), ea)
new_ltEs(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, app(app(ty_Either, da), db), cf) → new_lt1(vyw31001, vyw32001, da, db)

The TRS R consists of the following rules:

new_ltEs11(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), h, ba, cf) → new_pePe(new_lt20(vyw31000, vyw32000, h), new_asAs(new_esEs23(vyw31000, vyw32000, h), new_pePe(new_lt19(vyw31001, vyw32001, ba), new_asAs(new_esEs22(vyw31001, vyw32001, ba), new_ltEs20(vyw31002, vyw32002, cf)))))
new_lt5(vyw31000, vyw32000, app(ty_Maybe, bcc)) → new_lt12(vyw31000, vyw32000, bcc)
new_ltEs20(vyw31002, vyw32002, ty_Int) → new_ltEs9(vyw31002, vyw32002)
new_ltEs19(vyw3100, vyw3200, ty_Ordering) → new_ltEs16(vyw3100, vyw3200)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(app(ty_@3, ga), gb), gc), gd) → new_ltEs11(vyw31000, vyw32000, ga, gb, gc)
new_ltEs16(GT, GT) → True
new_ltEs15(True, False) → False
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_[], hb), gd) → new_ltEs17(vyw31000, vyw32000, hb)
new_ltEs18(vyw31001, vyw32001, ty_Float) → new_ltEs8(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Char, gd) → new_ltEs10(vyw31000, vyw32000)
new_esEs23(vyw31000, vyw32000, app(ty_[], ef)) → new_esEs9(vyw31000, vyw32000, ef)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt20(vyw31000, vyw32000, app(ty_[], ef)) → new_lt18(vyw31000, vyw32000, ef)
new_esEs17(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_compare10(vyw31000, vyw32000, True, ed, ee) → LT
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs16(LT, GT) → True
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, app(app(ty_@2, bdh), bea)) → new_compare28(vyw31000, vyw32000, bdh, bea)
new_lt5(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_Double) → new_compare6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_primMulNat0(Zero, Zero) → Zero
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(app(ty_@2, bga), bgb)) → new_esEs7(vyw500, vyw3000, bga, bgb)
new_esEs26(vyw502, vyw3002, app(ty_Ratio, cgg)) → new_esEs10(vyw502, vyw3002, cgg)
new_primCompAux0(vyw31000, vyw32000, vyw88, bda) → new_primCompAux00(vyw88, new_compare32(vyw31000, vyw32000, bda))
new_esEs27(vyw501, vyw3001, app(app(app(ty_@3, dad), dae), daf)) → new_esEs4(vyw501, vyw3001, dad, dae, daf)
new_esEs28(vyw500, vyw3000, app(ty_Ratio, dbc)) → new_esEs10(vyw500, vyw3000, dbc)
new_lt14(vyw31000, vyw32000, ed, ee) → new_esEs8(new_compare28(vyw31000, vyw32000, ed, ee), LT)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, cfh), cga)) → new_esEs6(vyw500, vyw3000, cfh, cga)
new_lt20(vyw31000, vyw32000, app(app(ty_Either, eb), ec)) → new_lt13(vyw31000, vyw32000, eb, ec)
new_ltEs13(Nothing, Just(vyw32000), cbc) → True
new_compare18(vyw31000, vyw32000, True, df, dg, dh) → LT
new_esEs22(vyw31001, vyw32001, ty_Char) → new_esEs17(vyw31001, vyw32001)
new_lt5(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, beh), bfa), bfb), bec) → new_esEs4(vyw500, vyw3000, beh, bfa, bfb)
new_ltEs20(vyw31002, vyw32002, app(ty_Maybe, be)) → new_ltEs13(vyw31002, vyw32002, be)
new_esEs27(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_lt19(vyw31001, vyw32001, ty_Ordering) → new_lt17(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Bool, bec) → new_esEs11(vyw500, vyw3000)
new_ltEs20(vyw31002, vyw32002, app(app(app(ty_@3, bb), bc), bd)) → new_ltEs11(vyw31002, vyw32002, bb, bc, bd)
new_lt5(vyw31000, vyw32000, app(ty_Ratio, cag)) → new_lt15(vyw31000, vyw32000, cag)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_Either, gf), gg), gd) → new_ltEs6(vyw31000, vyw32000, gf, gg)
new_lt16(vyw31000, vyw32000) → new_esEs8(new_compare16(vyw31000, vyw32000), LT)
new_lt7(vyw31000, vyw32000) → new_esEs8(new_compare13(vyw31000, vyw32000), LT)
new_compare0(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bda) → new_primCompAux0(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bda), bda)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Ratio, cda)) → new_ltEs14(vyw31000, vyw32000, cda)
new_compare210(Nothing, Nothing, False, cbb) → LT
new_ltEs20(vyw31002, vyw32002, app(ty_Ratio, cdb)) → new_ltEs14(vyw31002, vyw32002, cdb)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Maybe, ccg)) → new_esEs5(vyw500, vyw3000, ccg)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_[], cbf)) → new_esEs9(vyw500, vyw3000, cbf)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Ratio, cad), gd) → new_ltEs14(vyw31000, vyw32000, cad)
new_esEs12(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(app(app(ty_@3, bhf), bhg), bhh)) → new_esEs4(vyw500, vyw3000, bhf, bhg, bhh)
new_esEs28(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Integer, bec) → new_esEs12(vyw500, vyw3000)
new_pePe(False, vyw87) → vyw87
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(ty_[], bad)) → new_ltEs17(vyw31000, vyw32000, bad)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, cfc), cfd)) → new_esEs7(vyw500, vyw3000, cfc, cfd)
new_esEs18(vyw500, vyw3000, app(app(ty_@2, bhd), bhe)) → new_esEs7(vyw500, vyw3000, bhd, bhe)
new_ltEs15(True, True) → True
new_lt9(vyw31000, vyw32000) → new_esEs8(new_compare7(vyw31000, vyw32000), LT)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, app(app(ty_@2, bae), bcb)) → new_ltEs4(vyw3100, vyw3200, bae, bcb)
new_lt19(vyw31001, vyw32001, ty_Integer) → new_lt6(vyw31001, vyw32001)
new_ltEs15(False, True) → True
new_lt17(vyw31000, vyw32000) → new_esEs8(new_compare31(vyw31000, vyw32000), LT)
new_esEs22(vyw31001, vyw32001, ty_Double) → new_esEs15(vyw31001, vyw32001)
new_ltEs16(EQ, GT) → True
new_lt20(vyw31000, vyw32000, app(app(app(ty_@3, df), dg), dh)) → new_lt10(vyw31000, vyw32000, df, dg, dh)
new_esEs28(vyw500, vyw3000, app(app(app(ty_@3, dbf), dbg), dbh)) → new_esEs4(vyw500, vyw3000, dbf, dbg, dbh)
new_esEs22(vyw31001, vyw32001, ty_Integer) → new_esEs12(vyw31001, vyw32001)
new_ltEs20(vyw31002, vyw32002, ty_Double) → new_ltEs5(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt10(vyw31000, vyw32000, bbg, bbh, bca)
new_compare6(Double(vyw31000, vyw31001), Double(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_compare9(vyw3100, vyw3200) → new_primCmpInt(vyw3100, vyw3200)
new_lt20(vyw31000, vyw32000, app(app(ty_@2, ed), ee)) → new_lt14(vyw31000, vyw32000, ed, ee)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Float, gd) → new_ltEs8(vyw31000, vyw32000)
new_lt20(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_Ordering) → new_esEs8(vyw31001, vyw32001)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs15(False, False) → True
new_esEs9(:(vyw500, vyw501), :(vyw3000, vyw3001), bha) → new_asAs(new_esEs18(vyw500, vyw3000, bha), new_esEs9(vyw501, vyw3001, bha))
new_esEs18(vyw500, vyw3000, app(app(ty_Either, caa), cab)) → new_esEs6(vyw500, vyw3000, caa, cab)
new_ltEs20(vyw31002, vyw32002, app(app(ty_@2, bh), ca)) → new_ltEs4(vyw31002, vyw32002, bh, ca)
new_primCmpNat0(Zero, Succ(vyw320000)) → LT
new_compare32(vyw31000, vyw32000, ty_Bool) → new_compare16(vyw31000, vyw32000)
new_ltEs13(Nothing, Nothing, cbc) → True
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_@0, gd) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Bool) → new_esEs11(vyw502, vyw3002)
new_esEs8(LT, LT) → True
new_esEs6(Right(vyw500), Left(vyw3000), bff, bec) → False
new_esEs6(Left(vyw500), Right(vyw3000), bff, bec) → False
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_@2, ff), fg)) → new_ltEs4(vyw31000, vyw32000, ff, fg)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare210(Nothing, Just(vyw3200), False, cbb) → LT
new_esEs24(vyw501, vyw3001, app(ty_[], cdg)) → new_esEs9(vyw501, vyw3001, cdg)
new_lt11(vyw31000, vyw32000) → new_esEs8(new_compare19(vyw31000, vyw32000), LT)
new_compare0([], [], bda) → EQ
new_pePe(True, vyw87) → True
new_primEqNat0(Zero, Zero) → True
new_compare26(vyw31000, vyw32000, True) → EQ
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Double, gd) → new_ltEs5(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Char) → new_esEs17(vyw502, vyw3002)
new_esEs23(vyw31000, vyw32000, app(app(ty_Either, eb), ec)) → new_esEs6(vyw31000, vyw32000, eb, ec)
new_esEs14(@0, @0) → True
new_compare32(vyw31000, vyw32000, app(ty_Ratio, cdd)) → new_compare29(vyw31000, vyw32000, cdd)
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(app(app(ty_@3, bgc), bgd), bge)) → new_esEs4(vyw500, vyw3000, bgc, bgd, bge)
new_ltEs20(vyw31002, vyw32002, ty_Float) → new_ltEs8(vyw31002, vyw32002)
new_esEs22(vyw31001, vyw32001, app(app(ty_@2, dc), dd)) → new_esEs7(vyw31001, vyw32001, dc, dd)
new_compare30(Integer(vyw31000), Integer(vyw32000)) → new_primCmpInt(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Float) → new_ltEs8(vyw3100, vyw3200)
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(app(ty_Either, bgf), bgg)) → new_esEs6(vyw500, vyw3000, bgf, bgg)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Double, bec) → new_esEs15(vyw500, vyw3000)
new_ltEs16(EQ, LT) → False
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_@0) → new_compare19(vyw31000, vyw32000)
new_ltEs16(GT, EQ) → False
new_ltEs18(vyw31001, vyw32001, ty_Char) → new_ltEs10(vyw31001, vyw32001)
new_sr(vyw501, vyw3001) → new_primMulInt(vyw501, vyw3001)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_@0) → new_ltEs12(vyw3100, vyw3200)
new_esEs28(vyw500, vyw3000, app(app(ty_Either, dca), dcb)) → new_esEs6(vyw500, vyw3000, dca, dcb)
new_lt19(vyw31001, vyw32001, ty_Int) → new_lt8(vyw31001, vyw32001)
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, cea), ceb)) → new_esEs7(vyw501, vyw3001, cea, ceb)
new_esEs26(vyw502, vyw3002, ty_Ordering) → new_esEs8(vyw502, vyw3002)
new_ltEs19(vyw3100, vyw3200, ty_Char) → new_ltEs10(vyw3100, vyw3200)
new_esEs8(GT, GT) → True
new_primPlusNat0(Succ(vyw890), vyw300100) → Succ(Succ(new_primPlusNat1(vyw890, vyw300100)))
new_esEs13(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, app(ty_[], de)) → new_esEs9(vyw31001, vyw32001, de)
new_ltEs20(vyw31002, vyw32002, app(app(ty_Either, bf), bg)) → new_ltEs6(vyw31002, vyw32002, bf, bg)
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_Bool) → new_ltEs15(vyw3100, vyw3200)
new_ltEs10(vyw3100, vyw3200) → new_not(new_esEs8(new_compare7(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, app(app(app(ty_@3, chb), chc), chd)) → new_esEs4(vyw502, vyw3002, chb, chc, chd)
new_ltEs19(vyw3100, vyw3200, app(ty_Ratio, cbd)) → new_ltEs14(vyw3100, vyw3200, cbd)
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(ty_[], bfg)) → new_esEs9(vyw500, vyw3000, bfg)
new_ltEs5(vyw3100, vyw3200) → new_not(new_esEs8(new_compare6(vyw3100, vyw3200), GT))
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_lt10(vyw31000, vyw32000, df, dg, dh) → new_esEs8(new_compare14(vyw31000, vyw32000, df, dg, dh), LT)
new_compare27(vyw31000, vyw32000, False, df, dg, dh) → new_compare18(vyw31000, vyw32000, new_ltEs11(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_esEs28(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs26(vyw502, vyw3002, ty_Integer) → new_esEs12(vyw502, vyw3002)
new_esEs28(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare25(vyw31000, vyw32000, True) → EQ
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Integer) → new_compare30(new_sr0(vyw31000, vyw32001), new_sr0(vyw32000, vyw31001))
new_compare32(vyw31000, vyw32000, ty_Ordering) → new_compare31(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_@2, gh), ha), gd) → new_ltEs4(vyw31000, vyw32000, gh, ha)
new_ltEs16(LT, EQ) → True
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Double) → new_ltEs5(vyw3100, vyw3200)
new_lt15(vyw31000, vyw32000, cba) → new_esEs8(new_compare29(vyw31000, vyw32000, cba), LT)
new_primPlusNat1(Succ(vyw8900), Zero) → Succ(vyw8900)
new_primPlusNat1(Zero, Succ(vyw3001000)) → Succ(vyw3001000)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, cfb)) → new_esEs10(vyw500, vyw3000, cfb)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs7(vyw3100, vyw3200) → new_not(new_esEs8(new_compare30(vyw3100, vyw3200), GT))
new_ltEs20(vyw31002, vyw32002, ty_@0) → new_ltEs12(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_esEs5(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs16(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, app(app(app(ty_@3, df), dg), dh)) → new_esEs4(vyw31000, vyw32000, df, dg, dh)
new_compare7(Char(vyw31000), Char(vyw32000)) → new_primCmpNat0(vyw31000, vyw32000)
new_compare24(vyw31000, vyw32000, True, eb, ec) → EQ
new_esEs28(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt20(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_ltEs16(GT, LT) → False
new_compare32(vyw31000, vyw32000, app(ty_[], beb)) → new_compare0(vyw31000, vyw32000, beb)
new_esEs28(vyw500, vyw3000, app(app(ty_@2, dbd), dbe)) → new_esEs7(vyw500, vyw3000, dbd, dbe)
new_primCmpNat0(Succ(vyw310000), Succ(vyw320000)) → new_primCmpNat0(vyw310000, vyw320000)
new_esEs18(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(app(ty_Either, bbb), bbc)) → new_ltEs6(vyw31001, vyw32001, bbb, bbc)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, ccb), ccc), ccd)) → new_esEs4(vyw500, vyw3000, ccb, ccc, ccd)
new_esEs11(False, False) → True
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare10(vyw31000, vyw32000, False, ed, ee) → GT
new_lt19(vyw31001, vyw32001, ty_Double) → new_lt4(vyw31001, vyw32001)
new_esEs25(vyw500, vyw3000, app(ty_Maybe, cgb)) → new_esEs5(vyw500, vyw3000, cgb)
new_compare15(vyw31000, vyw32000, eb, ec) → new_compare24(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_esEs28(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs11(vyw31001, vyw32001, baf, bag, bah)
new_esEs23(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs19(vyw31000, vyw32000, app(app(ty_Either, bcd), bce)) → new_esEs6(vyw31000, vyw32000, bcd, bce)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs26(vyw502, vyw3002, ty_Int) → new_esEs13(vyw502, vyw3002)
new_ltEs20(vyw31002, vyw32002, app(ty_[], cb)) → new_ltEs17(vyw31002, vyw32002, cb)
new_esEs15(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_esEs27(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs18(vyw31001, vyw32001, ty_@0) → new_ltEs12(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Float, bec) → new_esEs16(vyw500, vyw3000)
new_compare13(Float(vyw31000, vyw31001), Float(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(ty_Ratio, cae)) → new_ltEs14(vyw31000, vyw32000, cae)
new_esEs22(vyw31001, vyw32001, ty_Int) → new_esEs13(vyw31001, vyw32001)
new_primCompAux00(vyw98, LT) → LT
new_ltEs19(vyw3100, vyw3200, app(ty_[], bda)) → new_ltEs17(vyw3100, vyw3200, bda)
new_primCmpInt(Neg(Succ(vyw310000)), Neg(vyw32000)) → new_primCmpNat0(vyw32000, Succ(vyw310000))
new_esEs18(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs6(Left(vyw31000), Right(vyw32000), hc, gd) → True
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(ty_Maybe, bgh)) → new_esEs5(vyw500, vyw3000, bgh)
new_esEs23(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Left(vyw32000), hc, gd) → False
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_esEs28(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_lt4(vyw31000, vyw32000) → new_esEs8(new_compare6(vyw31000, vyw32000), LT)
new_compare19(@0, @0) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw310000), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(vyw320000))) → LT
new_compare11(vyw31000, vyw32000, True, eb, ec) → LT
new_esEs6(Left(vyw500), Left(vyw3000), ty_@0, bec) → new_esEs14(vyw500, vyw3000)
new_sr0(Integer(vyw310000), Integer(vyw320010)) → Integer(new_primMulInt(vyw310000, vyw320010))
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_[], fh)) → new_ltEs17(vyw31000, vyw32000, fh)
new_compare32(vyw31000, vyw32000, ty_Integer) → new_compare30(vyw31000, vyw32000)
new_primPlusNat1(Succ(vyw8900), Succ(vyw3001000)) → Succ(Succ(new_primPlusNat1(vyw8900, vyw3001000)))
new_esEs6(Left(vyw500), Left(vyw3000), ty_Char, bec) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_lt19(vyw31001, vyw32001, app(ty_Ratio, cdc)) → new_lt15(vyw31001, vyw32001, cdc)
new_compare210(vyw310, vyw320, True, cbb) → EQ
new_esEs27(vyw501, vyw3001, app(ty_Maybe, dba)) → new_esEs5(vyw501, vyw3001, dba)
new_esEs19(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_esEs9([], [], bha) → True
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare32(vyw31000, vyw32000, ty_Int) → new_compare9(vyw31000, vyw32000)
new_primCompAux00(vyw98, EQ) → vyw98
new_primCmpInt(Pos(Zero), Pos(Succ(vyw320000))) → new_primCmpNat0(Zero, Succ(vyw320000))
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cde, cdf) → new_asAs(new_esEs25(vyw500, vyw3000, cde), new_esEs24(vyw501, vyw3001, cdf))
new_ltEs18(vyw31001, vyw32001, ty_Int) → new_ltEs9(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Int, gd) → new_ltEs9(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, app(app(ty_@2, dab), dac)) → new_esEs7(vyw501, vyw3001, dab, dac)
new_esEs27(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(app(ty_@2, bab), bac)) → new_ltEs4(vyw31000, vyw32000, bab, bac)
new_esEs23(vyw31000, vyw32000, app(ty_Ratio, cba)) → new_esEs10(vyw31000, vyw32000, cba)
new_compare12(vyw31000, vyw32000, False) → GT
new_ltEs16(EQ, EQ) → True
new_esEs23(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, ty_@0) → new_lt11(vyw31001, vyw32001)
new_lt20(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_ltEs8(vyw3100, vyw3200) → new_not(new_esEs8(new_compare13(vyw3100, vyw3200), GT))
new_lt5(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Float) → new_esEs16(vyw502, vyw3002)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_@2, bef), beg), bec) → new_esEs7(vyw500, vyw3000, bef, beg)
new_not(False) → True
new_lt20(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_Either, bfc), bfd), bec) → new_esEs6(vyw500, vyw3000, bfc, bfd)
new_ltEs18(vyw31001, vyw32001, app(ty_Ratio, caf)) → new_ltEs14(vyw31001, vyw32001, caf)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_compare32(vyw31000, vyw32000, ty_Char) → new_compare7(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(app(ty_Either, da), db)) → new_lt13(vyw31001, vyw32001, da, db)
new_compare110(vyw72, vyw73, True, cch) → LT
new_primCmpInt(Pos(Succ(vyw310000)), Pos(vyw32000)) → new_primCmpNat0(Succ(vyw310000), vyw32000)
new_primPlusNat0(Zero, vyw300100) → Succ(vyw300100)
new_esEs19(vyw31000, vyw32000, app(app(ty_@2, bcf), bcg)) → new_esEs7(vyw31000, vyw32000, bcf, bcg)
new_esEs26(vyw502, vyw3002, app(ty_[], cgf)) → new_esEs9(vyw502, vyw3002, cgf)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, cef), ceg)) → new_esEs6(vyw501, vyw3001, cef, ceg)
new_esEs19(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Ratio, bee), bec) → new_esEs10(vyw500, vyw3000, bee)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Bool, gd) → new_ltEs15(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, app(ty_[], dbb)) → new_esEs9(vyw500, vyw3000, dbb)
new_lt19(vyw31001, vyw32001, ty_Float) → new_lt7(vyw31001, vyw32001)
new_compare17(vyw31000, vyw32000, True) → LT
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, cfe), cff), cfg)) → new_esEs4(vyw500, vyw3000, cfe, cff, cfg)
new_lt5(vyw31000, vyw32000, app(app(ty_@2, bcf), bcg)) → new_lt14(vyw31000, vyw32000, bcf, bcg)
new_esEs27(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_compare0(:(vyw31000, vyw31001), [], bda) → GT
new_compare24(vyw31000, vyw32000, False, eb, ec) → new_compare11(vyw31000, vyw32000, new_ltEs6(vyw31000, vyw32000, eb, ec), eb, ec)
new_esEs5(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs22(vyw31001, vyw32001, app(app(app(ty_@3, cc), cd), ce)) → new_esEs4(vyw31001, vyw32001, cc, cd, ce)
new_esEs27(vyw501, vyw3001, app(app(ty_Either, dag), dah)) → new_esEs6(vyw501, vyw3001, dag, dah)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, ceh)) → new_esEs5(vyw501, vyw3001, ceh)
new_lt12(vyw31000, vyw32000, ea) → new_esEs8(new_compare8(vyw31000, vyw32000, ea), LT)
new_esEs22(vyw31001, vyw32001, ty_Bool) → new_esEs11(vyw31001, vyw32001)
new_compare11(vyw31000, vyw32000, False, eb, ec) → GT
new_esEs19(vyw31000, vyw32000, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs4(vyw31000, vyw32000, bbg, bbh, bca)
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw310000)), Neg(vyw32000)) → GT
new_ltEs19(vyw3100, vyw3200, ty_Int) → new_ltEs9(vyw3100, vyw3200)
new_ltEs9(vyw3100, vyw3200) → new_not(new_esEs8(new_compare9(vyw3100, vyw3200), GT))
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_esEs19(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_primMulInt(Pos(vyw5010), Pos(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt19(vyw31001, vyw32001, app(app(ty_@2, dc), dd)) → new_lt14(vyw31001, vyw32001, dc, dd)
new_esEs27(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs13(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_esEs27(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_primMulInt(Neg(vyw5010), Neg(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt5(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_primEqNat0(Succ(vyw5000), Zero) → False
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_lt20(vyw31000, vyw32000, app(ty_Ratio, cba)) → new_lt15(vyw31000, vyw32000, cba)
new_esEs26(vyw502, vyw3002, app(app(ty_@2, cgh), cha)) → new_esEs7(vyw502, vyw3002, cgh, cha)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_compare23(vyw31000, vyw32000, False, ed, ee) → new_compare10(vyw31000, vyw32000, new_ltEs4(vyw31000, vyw32000, ed, ee), ed, ee)
new_lt5(vyw31000, vyw32000, app(app(ty_Either, bcd), bce)) → new_lt13(vyw31000, vyw32000, bcd, bce)
new_lt8(vyw31000, vyw32000) → new_esEs8(new_compare9(vyw31000, vyw32000), LT)
new_ltEs18(vyw31001, vyw32001, ty_Integer) → new_ltEs7(vyw31001, vyw32001)
new_ltEs18(vyw31001, vyw32001, app(ty_[], bbf)) → new_ltEs17(vyw31001, vyw32001, bbf)
new_esEs19(vyw31000, vyw32000, app(ty_Maybe, bcc)) → new_esEs5(vyw31000, vyw32000, bcc)
new_lt13(vyw31000, vyw32000, eb, ec) → new_esEs8(new_compare15(vyw31000, vyw32000, eb, ec), LT)
new_ltEs20(vyw31002, vyw32002, ty_Ordering) → new_ltEs16(vyw31002, vyw32002)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, app(ty_Maybe, chg)) → new_esEs5(vyw502, vyw3002, chg)
new_esEs19(vyw31000, vyw32000, app(ty_[], bch)) → new_esEs9(vyw31000, vyw32000, bch)
new_esEs27(vyw501, vyw3001, app(ty_Ratio, daa)) → new_esEs10(vyw501, vyw3001, daa)
new_compare23(vyw31000, vyw32000, True, ed, ee) → EQ
new_primCmpInt(Neg(Zero), Neg(Succ(vyw320000))) → new_primCmpNat0(Succ(vyw320000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw320000))) → GT
new_compare110(vyw72, vyw73, False, cch) → GT
new_esEs6(Left(vyw500), Left(vyw3000), ty_Ordering, bec) → new_esEs8(vyw500, vyw3000)
new_esEs11(False, True) → False
new_esEs11(True, False) → False
new_esEs6(Right(vyw500), Right(vyw3000), bff, app(ty_Ratio, bfh)) → new_esEs10(vyw500, vyw3000, bfh)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(ty_[], de)) → new_lt18(vyw31001, vyw32001, de)
new_esEs26(vyw502, vyw3002, ty_@0) → new_esEs14(vyw502, vyw3002)
new_esEs27(vyw501, vyw3001, app(ty_[], chh)) → new_esEs9(vyw501, vyw3001, chh)
new_lt20(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, app(ty_[], cfa)) → new_esEs9(vyw500, vyw3000, cfa)
new_esEs23(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_ltEs17(vyw3100, vyw3200, bda) → new_not(new_esEs8(new_compare0(vyw3100, vyw3200, bda), GT))
new_compare14(vyw31000, vyw32000, df, dg, dh) → new_compare27(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, df, dg, dh), df, dg, dh)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Maybe, fb)) → new_ltEs13(vyw31000, vyw32000, fb)
new_compare8(vyw31000, vyw32000, ea) → new_compare210(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, ea), ea)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(app(ty_Either, hh), baa)) → new_ltEs6(vyw31000, vyw32000, hh, baa)
new_compare16(vyw31000, vyw32000) → new_compare25(vyw31000, vyw32000, new_esEs11(vyw31000, vyw32000))
new_esEs23(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_ltEs14(vyw3100, vyw3200, cbd) → new_not(new_esEs8(new_compare29(vyw3100, vyw3200, cbd), GT))
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(app(app(ty_@3, hd), he), hf)) → new_ltEs11(vyw31000, vyw32000, hd, he, hf)
new_ltEs13(Just(vyw31000), Nothing, cbc) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare32(vyw31000, vyw32000, ty_Float) → new_compare13(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_compare32(vyw31000, vyw32000, app(app(app(ty_@3, bdb), bdc), bdd)) → new_compare14(vyw31000, vyw32000, bdb, bdc, bdd)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, app(ty_Maybe, hg)) → new_ltEs13(vyw31000, vyw32000, hg)
new_asAs(False, vyw79) → False
new_lt20(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, app(ty_[], bch)) → new_lt18(vyw31000, vyw32000, bch)
new_primMulInt(Pos(vyw5010), Neg(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_primMulInt(Neg(vyw5010), Pos(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_compare32(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_compare15(vyw31000, vyw32000, bdf, bdg)
new_primMulNat0(Zero, Succ(vyw300100)) → Zero
new_primMulNat0(Succ(vyw50100), Zero) → Zero
new_ltEs20(vyw31002, vyw32002, ty_Bool) → new_ltEs15(vyw31002, vyw32002)
new_ltEs20(vyw31002, vyw32002, ty_Integer) → new_ltEs7(vyw31002, vyw32002)
new_lt5(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(ty_[], bhb)) → new_esEs9(vyw500, vyw3000, bhb)
new_esEs23(vyw31000, vyw32000, app(app(ty_@2, ed), ee)) → new_esEs7(vyw31000, vyw32000, ed, ee)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Int) → new_compare9(new_sr(vyw31000, vyw32001), new_sr(vyw32000, vyw31001))
new_compare12(vyw31000, vyw32000, True) → LT
new_esEs18(vyw500, vyw3000, app(ty_Maybe, cac)) → new_esEs5(vyw500, vyw3000, cac)
new_lt19(vyw31001, vyw32001, ty_Bool) → new_lt16(vyw31001, vyw32001)
new_lt19(vyw31001, vyw32001, app(ty_Maybe, cg)) → new_lt12(vyw31001, vyw32001, cg)
new_ltEs4(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bae, bcb) → new_pePe(new_lt5(vyw31000, vyw32000, bae), new_asAs(new_esEs19(vyw31000, vyw32000, bae), new_ltEs18(vyw31001, vyw32001, bcb)))
new_esEs18(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt5(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_esEs11(True, True) → True
new_compare210(Just(vyw3100), Nothing, False, cbb) → GT
new_esEs23(vyw31000, vyw32000, app(ty_Maybe, ea)) → new_esEs5(vyw31000, vyw32000, ea)
new_compare18(vyw31000, vyw32000, False, df, dg, dh) → GT
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Maybe, bfe), bec) → new_esEs5(vyw500, vyw3000, bfe)
new_lt19(vyw31001, vyw32001, app(app(app(ty_@3, cc), cd), ce)) → new_lt10(vyw31001, vyw32001, cc, cd, ce)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(ty_Maybe, bba)) → new_ltEs13(vyw31001, vyw32001, bba)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, cdh)) → new_esEs10(vyw501, vyw3001, cdh)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Ratio, cbg)) → new_esEs10(vyw500, vyw3000, cbg)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_esEs22(vyw31001, vyw32001, app(ty_Ratio, cdc)) → new_esEs10(vyw31001, vyw32001, cdc)
new_esEs5(Just(vyw500), Nothing, cbe) → False
new_esEs5(Nothing, Just(vyw3000), cbe) → False
new_lt18(vyw31000, vyw32000, ef) → new_esEs8(new_compare0(vyw31000, vyw32000, ef), LT)
new_esEs22(vyw31001, vyw32001, ty_Float) → new_esEs16(vyw31001, vyw32001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare25(vyw31000, vyw32000, False) → new_compare12(vyw31000, vyw32000, new_ltEs15(vyw31000, vyw32000))
new_esEs9(:(vyw500, vyw501), [], bha) → False
new_esEs9([], :(vyw3000, vyw3001), bha) → False
new_ltEs19(vyw3100, vyw3200, app(ty_Maybe, cbc)) → new_ltEs13(vyw3100, vyw3200, cbc)
new_ltEs19(vyw3100, vyw3200, app(app(app(ty_@3, h), ba), cf)) → new_ltEs11(vyw3100, vyw3200, h, ba, cf)
new_esEs19(vyw31000, vyw32000, app(ty_Ratio, cag)) → new_esEs10(vyw31000, vyw32000, cag)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_Either, cce), ccf)) → new_esEs6(vyw500, vyw3000, cce, ccf)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_esEs4(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cgc, cgd, cge) → new_asAs(new_esEs28(vyw500, vyw3000, cgc), new_asAs(new_esEs27(vyw501, vyw3001, cgd), new_esEs26(vyw502, vyw3002, cge)))
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_@0) → new_esEs14(vyw31001, vyw32001)
new_esEs5(Nothing, Nothing, cbe) → True
new_esEs22(vyw31001, vyw32001, app(app(ty_Either, da), db)) → new_esEs6(vyw31001, vyw32001, da, db)
new_esEs28(vyw500, vyw3000, app(ty_Maybe, dcc)) → new_esEs5(vyw500, vyw3000, dcc)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Ordering, gd) → new_ltEs16(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Int, bec) → new_esEs13(vyw500, vyw3000)
new_esEs18(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Integer, gd) → new_ltEs7(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Integer) → new_ltEs7(vyw3100, vyw3200)
new_esEs22(vyw31001, vyw32001, app(ty_Maybe, cg)) → new_esEs5(vyw31001, vyw32001, cg)
new_compare26(vyw31000, vyw32000, False) → new_compare17(vyw31000, vyw32000, new_ltEs16(vyw31000, vyw32000))
new_esEs26(vyw502, vyw3002, app(app(ty_Either, che), chf)) → new_esEs6(vyw502, vyw3002, che, chf)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Maybe, ge), gd) → new_ltEs13(vyw31000, vyw32000, ge)
new_ltEs18(vyw31001, vyw32001, ty_Bool) → new_ltEs15(vyw31001, vyw32001)
new_compare0([], :(vyw32000, vyw32001), bda) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs18(vyw31001, vyw32001, ty_Ordering) → new_ltEs16(vyw31001, vyw32001)
new_esEs10(:%(vyw500, vyw501), :%(vyw3000, vyw3001), cah) → new_asAs(new_esEs21(vyw500, vyw3000, cah), new_esEs20(vyw501, vyw3001, cah))
new_asAs(True, vyw79) → vyw79
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_primMulNat0(Succ(vyw50100), Succ(vyw300100)) → new_primPlusNat0(new_primMulNat0(vyw50100, Succ(vyw300100)), vyw300100)
new_esEs27(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_@2, cbh), cca)) → new_esEs7(vyw500, vyw3000, cbh, cca)
new_ltEs12(vyw3100, vyw3200) → new_not(new_esEs8(new_compare19(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, ty_Double) → new_esEs15(vyw502, vyw3002)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_ltEs16(LT, LT) → True
new_compare17(vyw31000, vyw32000, False) → GT
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Float) → new_esEs16(vyw500, vyw3000)
new_compare27(vyw31000, vyw32000, True, df, dg, dh) → EQ
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(app(ty_@3, eg), eh), fa)) → new_ltEs11(vyw31000, vyw32000, eg, eh, fa)
new_lt20(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_esEs16(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_compare31(vyw31000, vyw32000) → new_compare26(vyw31000, vyw32000, new_esEs8(vyw31000, vyw32000))
new_esEs19(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs18(vyw31001, vyw32001, ty_Double) → new_ltEs5(vyw31001, vyw32001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_lt6(vyw31000, vyw32000) → new_esEs8(new_compare30(vyw31000, vyw32000), LT)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hc, ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_ltEs18(vyw31001, vyw32001, app(app(ty_@2, bbd), bbe)) → new_ltEs4(vyw31001, vyw32001, bbd, bbe)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_Either, fc), fd)) → new_ltEs6(vyw31000, vyw32000, fc, fd)
new_lt20(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare210(Just(vyw3100), Just(vyw3200), False, cbb) → new_compare110(vyw3100, vyw3200, new_ltEs19(vyw3100, vyw3200, cbb), cbb)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, cec), ced), cee)) → new_esEs4(vyw501, vyw3001, cec, ced, cee)
new_compare28(vyw31000, vyw32000, ed, ee) → new_compare23(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, ed, ee), ed, ee)
new_ltEs20(vyw31002, vyw32002, ty_Char) → new_ltEs10(vyw31002, vyw32002)
new_primCompAux00(vyw98, GT) → GT
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_[], bed), bec) → new_esEs9(vyw500, vyw3000, bed)
new_esEs6(Right(vyw500), Right(vyw3000), bff, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt20(vyw31000, vyw32000, app(ty_Maybe, ea)) → new_lt12(vyw31000, vyw32000, ea)
new_lt19(vyw31001, vyw32001, ty_Char) → new_lt9(vyw31001, vyw32001)
new_ltEs19(vyw3100, vyw3200, app(app(ty_Either, hc), gd)) → new_ltEs6(vyw3100, vyw3200, hc, gd)
new_esEs18(vyw500, vyw3000, app(ty_Ratio, bhc)) → new_esEs10(vyw500, vyw3000, bhc)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs18(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw310000)), Pos(vyw32000)) → LT
new_compare32(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_compare8(vyw31000, vyw32000, bde)
new_not(True) → False

The set Q consists of the following terms:

new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs18(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_compare14(x0, x1, x2, x3, x4)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs11(True, True)
new_lt4(x0, x1)
new_lt11(x0, x1)
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare210(Just(x0), Just(x1), False, x2)
new_compare110(x0, x1, False, x2)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs9([], [], x0)
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_esEs18(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_[], x2))
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_asAs(True, x0)
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Zero, Succ(x0))
new_ltEs15(True, True)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Float)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare32(x0, x1, ty_Integer)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primPlusNat0(Zero, x0)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(GT, GT)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt10(x0, x1, x2, x3, x4)
new_ltEs15(False, False)
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_lt18(x0, x1, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs8(LT, LT)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt5(x0, x1, ty_Char)
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs13(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Bool)
new_esEs9(:(x0, x1), [], x2)
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_compare23(x0, x1, True, x2, x3)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare210(Just(x0), Nothing, False, x1)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs19(x0, x1, ty_Bool)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Char)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_compare28(x0, x1, x2, x3)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Ordering)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_lt8(x0, x1)
new_ltEs18(x0, x1, ty_Double)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, x2, x3)
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Integer)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_compare32(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_Int)
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Float)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs18(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Float)
new_compare18(x0, x1, True, x2, x3, x4)
new_compare32(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_lt12(x0, x1, x2)
new_esEs11(False, False)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt13(x0, x1, x2, x3)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_sr0(Integer(x0), Integer(x1))
new_primCompAux0(x0, x1, x2, x3)
new_esEs22(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, EQ)
new_lt15(x0, x1, x2)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(ty_[], x2))
new_compare24(x0, x1, False, x2, x3)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_compare210(Nothing, Just(x0), False, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Nothing, x1)
new_compare6(Double(x0, x1), Double(x2, x3))
new_lt5(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs18(x0, x1, ty_Char)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, ty_Float)
new_esEs15(Double(x0, x1), Double(x2, x3))
new_compare11(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare10(x0, x1, True, x2, x3)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(GT, LT)
new_ltEs16(LT, GT)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare10(x0, x1, False, x2, x3)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare25(x0, x1, True)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_compare0([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_compare23(x0, x1, False, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare32(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_ltEs20(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Integer)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs5(Nothing, Nothing, x0)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare17(x0, x1, False)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Char)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt7(x0, x1)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(x0, x1, x2)
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs20(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_lt20(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Int)
new_esEs18(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_compare210(x0, x1, True, x2)
new_compare210(Nothing, Nothing, False, x0)
new_pePe(False, x0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Char)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_not(True)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_Bool)
new_esEs19(x0, x1, app(ty_[], x2))
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs18(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_compare15(x0, x1, x2, x3)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt17(x0, x1)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_sr(x0, x1)
new_esEs26(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_esEs26(x0, x1, ty_Char)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare19(@0, @0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_compare8(x0, x1, x2)
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs13(Nothing, Nothing, x0)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs17(x0, x1, x2)
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Ordering)
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9([], :(x0, x1), x2)
new_ltEs20(x0, x1, ty_@0)
new_pePe(True, x0)
new_ltEs19(x0, x1, ty_Double)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs20(x0, x1, ty_Char)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Just(vyw50), h, ba)
new_lookupWithDefaultFM03(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, True, bb, bc) → new_lookupWithDefaultFM00(vyw15, vyw19, Just(vyw21), bb, bc)
new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, False, h, ba) → new_lookupWithDefaultFM05(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Nothing, False, ba), GT), h, ba)
new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, False, h, ba) → new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), GT), h, ba)
new_lookupWithDefaultFM05(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Just(vyw50), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Just(vyw50), h, ba) → new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Nothing, False, ba), LT), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), LT), h, ba)
new_lookupWithDefaultFM06(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, True, bb, bc) → new_lookupWithDefaultFM00(vyw15, vyw20, Just(vyw21), bb, bc)
new_lookupWithDefaultFM03(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, False, bb, bc) → new_lookupWithDefaultFM06(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, new_esEs8(new_compare210(Just(vyw21), Just(vyw16), new_esEs30(vyw21, vyw16, bc), bc), GT), bb, bc)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Just(vyw50), h, ba) → new_lookupWithDefaultFM03(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Just(vyw300), new_esEs29(vyw50, vyw300, ba), ba), LT), h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Nothing, h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Nothing, True, ba), GT), h, ba)

The TRS R consists of the following rules:

new_ltEs11(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), bgb, bgc, bgd) → new_pePe(new_lt20(vyw31000, vyw32000, bgb), new_asAs(new_esEs23(vyw31000, vyw32000, bgb), new_pePe(new_lt19(vyw31001, vyw32001, bgc), new_asAs(new_esEs22(vyw31001, vyw32001, bgc), new_ltEs20(vyw31002, vyw32002, bgd)))))
new_lt5(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_lt12(vyw31000, vyw32000, bcf)
new_ltEs20(vyw31002, vyw32002, ty_Int) → new_ltEs9(vyw31002, vyw32002)
new_ltEs19(vyw3100, vyw3200, ty_Ordering) → new_ltEs16(vyw3100, vyw3200)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(app(ty_@3, gb), gc), gd), ga) → new_ltEs11(vyw31000, vyw32000, gb, gc, gd)
new_ltEs16(GT, GT) → True
new_ltEs15(True, False) → False
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_[], hc), ga) → new_ltEs17(vyw31000, vyw32000, hc)
new_ltEs18(vyw31001, vyw32001, ty_Float) → new_ltEs8(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Char, ga) → new_ltEs10(vyw31000, vyw32000)
new_esEs23(vyw31000, vyw32000, app(ty_[], bec)) → new_esEs9(vyw31000, vyw32000, bec)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt20(vyw31000, vyw32000, app(ty_[], bec)) → new_lt18(vyw31000, vyw32000, bec)
new_esEs17(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_compare10(vyw31000, vyw32000, True, bd, be) → LT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs16(LT, GT) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, app(app(ty_@2, cfd), cfe)) → new_compare28(vyw31000, vyw32000, cfd, cfe)
new_lt5(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_Double) → new_compare6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_primMulNat0(Zero, Zero) → Zero
new_esEs29(vyw50, vyw300, ty_Float) → new_esEs16(vyw50, vyw300)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_@2, de), df)) → new_esEs7(vyw500, vyw3000, de, df)
new_esEs26(vyw502, vyw3002, app(ty_Ratio, dae)) → new_esEs10(vyw502, vyw3002, dae)
new_primCompAux0(vyw31000, vyw32000, vyw88, bed) → new_primCompAux00(vyw88, new_compare32(vyw31000, vyw32000, bed))
new_esEs27(vyw501, vyw3001, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs4(vyw501, vyw3001, dcb, dcc, dcd)
new_esEs28(vyw500, vyw3000, app(ty_Ratio, dda)) → new_esEs10(vyw500, vyw3000, dda)
new_lt14(vyw31000, vyw32000, bd, be) → new_esEs8(new_compare28(vyw31000, vyw32000, bd, be), LT)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, daa), dab)) → new_esEs6(vyw500, vyw3000, daa, dab)
new_lt20(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_lt13(vyw31000, vyw32000, bdf, bdg)
new_ltEs13(Nothing, Just(vyw32000), bge) → True
new_compare18(vyw31000, vyw32000, True, bdh, bea, beb) → LT
new_esEs22(vyw31001, vyw32001, ty_Char) → new_esEs17(vyw31001, vyw32001)
new_lt5(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, cc), cd), ce), bf) → new_esEs4(vyw500, vyw3000, cc, cd, ce)
new_ltEs20(vyw31002, vyw32002, app(ty_Maybe, cce)) → new_ltEs13(vyw31002, vyw32002, cce)
new_esEs27(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_lt19(vyw31001, vyw32001, ty_Ordering) → new_lt17(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Bool, bf) → new_esEs11(vyw500, vyw3000)
new_ltEs20(vyw31002, vyw32002, app(app(app(ty_@3, ccb), ccc), ccd)) → new_ltEs11(vyw31002, vyw32002, ccb, ccc, ccd)
new_lt5(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_lt15(vyw31000, vyw32000, bdc)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_Either, gf), gg), ga) → new_ltEs6(vyw31000, vyw32000, gf, gg)
new_lt16(vyw31000, vyw32000) → new_esEs8(new_compare16(vyw31000, vyw32000), LT)
new_lt7(vyw31000, vyw32000) → new_esEs8(new_compare13(vyw31000, vyw32000), LT)
new_compare0(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bed) → new_primCompAux0(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bed), bed)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Ratio, cbh)) → new_ltEs14(vyw31000, vyw32000, cbh)
new_compare210(Nothing, Nothing, False, bga) → LT
new_ltEs20(vyw31002, vyw32002, app(ty_Ratio, cdb)) → new_ltEs14(vyw31002, vyw32002, cdb)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Maybe, caa)) → new_esEs5(vyw500, vyw3000, caa)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_[], bgh)) → new_esEs9(vyw500, vyw3000, bgh)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Ratio, hb), ga) → new_ltEs14(vyw31000, vyw32000, hb)
new_esEs12(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(app(app(ty_@3, fb), fc), fd)) → new_esEs4(vyw500, vyw3000, fb, fc, fd)
new_esEs28(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Integer, bf) → new_esEs12(vyw500, vyw3000)
new_pePe(False, vyw87) → vyw87
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_[], baf)) → new_ltEs17(vyw31000, vyw32000, baf)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, chd), che)) → new_esEs7(vyw500, vyw3000, chd, che)
new_esEs18(vyw500, vyw3000, app(app(ty_@2, eh), fa)) → new_esEs7(vyw500, vyw3000, eh, fa)
new_ltEs15(True, True) → True
new_lt9(vyw31000, vyw32000) → new_esEs8(new_compare7(vyw31000, vyw32000), LT)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, app(app(ty_@2, bag), bah)) → new_ltEs4(vyw3100, vyw3200, bag, bah)
new_lt19(vyw31001, vyw32001, ty_Integer) → new_lt6(vyw31001, vyw32001)
new_ltEs15(False, True) → True
new_esEs22(vyw31001, vyw32001, ty_Double) → new_esEs15(vyw31001, vyw32001)
new_lt17(vyw31000, vyw32000) → new_esEs8(new_compare31(vyw31000, vyw32000), LT)
new_ltEs16(EQ, GT) → True
new_esEs29(vyw50, vyw300, app(ty_[], ee)) → new_esEs9(vyw50, vyw300, ee)
new_lt20(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_lt10(vyw31000, vyw32000, bdh, bea, beb)
new_esEs28(vyw500, vyw3000, app(app(app(ty_@3, ddd), dde), ddf)) → new_esEs4(vyw500, vyw3000, ddd, dde, ddf)
new_esEs22(vyw31001, vyw32001, ty_Integer) → new_esEs12(vyw31001, vyw32001)
new_ltEs20(vyw31002, vyw32002, ty_Double) → new_ltEs5(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_lt10(vyw31000, vyw32000, bcc, bcd, bce)
new_compare6(Double(vyw31000, vyw31001), Double(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_compare9(vyw3100, vyw3200) → new_primCmpInt(vyw3100, vyw3200)
new_lt20(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_lt14(vyw31000, vyw32000, bd, be)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Float, ga) → new_ltEs8(vyw31000, vyw32000)
new_lt20(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_Ordering) → new_esEs8(vyw31001, vyw32001)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs15(False, False) → True
new_esEs9(:(vyw500, vyw501), :(vyw3000, vyw3001), ee) → new_asAs(new_esEs18(vyw500, vyw3000, ee), new_esEs9(vyw501, vyw3001, ee))
new_esEs18(vyw500, vyw3000, app(app(ty_Either, ff), fg)) → new_esEs6(vyw500, vyw3000, ff, fg)
new_ltEs20(vyw31002, vyw32002, app(app(ty_@2, cch), cda)) → new_ltEs4(vyw31002, vyw32002, cch, cda)
new_primCmpNat0(Zero, Succ(vyw320000)) → LT
new_compare32(vyw31000, vyw32000, ty_Bool) → new_compare16(vyw31000, vyw32000)
new_ltEs13(Nothing, Nothing, bge) → True
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_@0, ga) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Bool) → new_esEs11(vyw502, vyw3002)
new_esEs8(LT, LT) → True
new_esEs6(Right(vyw500), Left(vyw3000), db, bf) → False
new_esEs6(Left(vyw500), Right(vyw3000), db, bf) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_@2, cbf), cbg)) → new_ltEs4(vyw31000, vyw32000, cbf, cbg)
new_esEs29(vyw50, vyw300, app(app(ty_@2, cac), cad)) → new_esEs7(vyw50, vyw300, cac, cad)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare210(Nothing, Just(vyw3200), False, bga) → LT
new_esEs24(vyw501, vyw3001, app(ty_[], cfh)) → new_esEs9(vyw501, vyw3001, cfh)
new_lt11(vyw31000, vyw32000) → new_esEs8(new_compare19(vyw31000, vyw32000), LT)
new_compare0([], [], bed) → EQ
new_pePe(True, vyw87) → True
new_primEqNat0(Zero, Zero) → True
new_compare26(vyw31000, vyw32000, True) → EQ
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Double, ga) → new_ltEs5(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Char) → new_esEs17(vyw502, vyw3002)
new_esEs23(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_esEs6(vyw31000, vyw32000, bdf, bdg)
new_esEs14(@0, @0) → True
new_esEs30(vyw21, vyw16, ty_Double) → new_esEs15(vyw21, vyw16)
new_compare32(vyw31000, vyw32000, app(ty_Ratio, cff)) → new_compare29(vyw31000, vyw32000, cff)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(app(ty_@3, dg), dh), ea)) → new_esEs4(vyw500, vyw3000, dg, dh, ea)
new_ltEs20(vyw31002, vyw32002, ty_Float) → new_ltEs8(vyw31002, vyw32002)
new_esEs22(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_esEs7(vyw31001, vyw32001, ceb, cec)
new_compare30(Integer(vyw31000), Integer(vyw32000)) → new_primCmpInt(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Float) → new_ltEs8(vyw3100, vyw3200)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_Either, eb), ec)) → new_esEs6(vyw500, vyw3000, eb, ec)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Double, bf) → new_esEs15(vyw500, vyw3000)
new_ltEs16(EQ, LT) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_@0) → new_compare19(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Int) → new_esEs13(vyw50, vyw300)
new_ltEs16(GT, EQ) → False
new_ltEs18(vyw31001, vyw32001, ty_Char) → new_ltEs10(vyw31001, vyw32001)
new_sr(vyw501, vyw3001) → new_primMulInt(vyw501, vyw3001)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_@0) → new_ltEs12(vyw3100, vyw3200)
new_esEs28(vyw500, vyw3000, app(app(ty_Either, ddg), ddh)) → new_esEs6(vyw500, vyw3000, ddg, ddh)
new_lt19(vyw31001, vyw32001, ty_Int) → new_lt8(vyw31001, vyw32001)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, cgb), cgc)) → new_esEs7(vyw501, vyw3001, cgb, cgc)
new_esEs26(vyw502, vyw3002, ty_Ordering) → new_esEs8(vyw502, vyw3002)
new_ltEs19(vyw3100, vyw3200, ty_Char) → new_ltEs10(vyw3100, vyw3200)
new_esEs8(GT, GT) → True
new_esEs30(vyw21, vyw16, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs4(vyw21, vyw16, bfc, bfd, bfe)
new_primPlusNat0(Succ(vyw890), vyw300100) → Succ(Succ(new_primPlusNat1(vyw890, vyw300100)))
new_esEs13(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, app(ty_[], cee)) → new_esEs9(vyw31001, vyw32001, cee)
new_ltEs20(vyw31002, vyw32002, app(app(ty_Either, ccf), ccg)) → new_ltEs6(vyw31002, vyw32002, ccf, ccg)
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_Bool) → new_ltEs15(vyw3100, vyw3200)
new_ltEs10(vyw3100, vyw3200) → new_not(new_esEs8(new_compare7(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs4(vyw502, vyw3002, dah, dba, dbb)
new_ltEs19(vyw3100, vyw3200, app(ty_Ratio, bgf)) → new_ltEs14(vyw3100, vyw3200, bgf)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_[], dc)) → new_esEs9(vyw500, vyw3000, dc)
new_ltEs5(vyw3100, vyw3200) → new_not(new_esEs8(new_compare6(vyw3100, vyw3200), GT))
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_lt10(vyw31000, vyw32000, bdh, bea, beb) → new_esEs8(new_compare14(vyw31000, vyw32000, bdh, bea, beb), LT)
new_compare27(vyw31000, vyw32000, False, bdh, bea, beb) → new_compare18(vyw31000, vyw32000, new_ltEs11(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_esEs28(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs29(vyw50, vyw300, ty_Bool) → new_esEs11(vyw50, vyw300)
new_esEs26(vyw502, vyw3002, ty_Integer) → new_esEs12(vyw502, vyw3002)
new_esEs28(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare25(vyw31000, vyw32000, True) → EQ
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Integer) → new_compare30(new_sr0(vyw31000, vyw32001), new_sr0(vyw32000, vyw31001))
new_compare32(vyw31000, vyw32000, ty_Ordering) → new_compare31(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_@2, gh), ha), ga) → new_ltEs4(vyw31000, vyw32000, gh, ha)
new_ltEs16(LT, EQ) → True
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Double) → new_ltEs5(vyw3100, vyw3200)
new_lt15(vyw31000, vyw32000, bef) → new_esEs8(new_compare29(vyw31000, vyw32000, bef), LT)
new_primPlusNat1(Succ(vyw8900), Zero) → Succ(vyw8900)
new_primPlusNat1(Zero, Succ(vyw3001000)) → Succ(vyw3001000)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, chc)) → new_esEs10(vyw500, vyw3000, chc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs7(vyw3100, vyw3200) → new_not(new_esEs8(new_compare30(vyw3100, vyw3200), GT))
new_ltEs20(vyw31002, vyw32002, ty_@0) → new_ltEs12(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_esEs5(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs16(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs4(vyw31000, vyw32000, bdh, bea, beb)
new_compare7(Char(vyw31000), Char(vyw32000)) → new_primCmpNat0(vyw31000, vyw32000)
new_compare24(vyw31000, vyw32000, True, bdf, bdg) → EQ
new_esEs28(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt20(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_ltEs16(GT, LT) → False
new_compare32(vyw31000, vyw32000, app(ty_[], cfg)) → new_compare0(vyw31000, vyw32000, cfg)
new_esEs28(vyw500, vyw3000, app(app(ty_@2, ddb), ddc)) → new_esEs7(vyw500, vyw3000, ddb, ddc)
new_primCmpNat0(Succ(vyw310000), Succ(vyw320000)) → new_primCmpNat0(vyw310000, vyw320000)
new_ltEs18(vyw31001, vyw32001, app(app(ty_Either, bbe), bbf)) → new_ltEs6(vyw31001, vyw32001, bbe, bbf)
new_esEs18(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs4(vyw500, vyw3000, bhd, bhe, bhf)
new_esEs11(False, False) → True
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare10(vyw31000, vyw32000, False, bd, be) → GT
new_lt19(vyw31001, vyw32001, ty_Double) → new_lt4(vyw31001, vyw32001)
new_esEs25(vyw500, vyw3000, app(ty_Maybe, dac)) → new_esEs5(vyw500, vyw3000, dac)
new_compare15(vyw31000, vyw32000, bdf, bdg) → new_compare24(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs29(vyw50, vyw300, app(ty_Maybe, bgg)) → new_esEs5(vyw50, vyw300, bgg)
new_esEs28(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs11(vyw31001, vyw32001, bba, bbb, bbc)
new_esEs23(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs19(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_esEs6(vyw31000, vyw32000, bcg, bch)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs26(vyw502, vyw3002, ty_Int) → new_esEs13(vyw502, vyw3002)
new_ltEs20(vyw31002, vyw32002, app(ty_[], cdc)) → new_ltEs17(vyw31002, vyw32002, cdc)
new_esEs15(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_esEs27(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs18(vyw31001, vyw32001, ty_@0) → new_ltEs12(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Float, bf) → new_esEs16(vyw500, vyw3000)
new_compare13(Float(vyw31000, vyw31001), Float(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Ratio, bae)) → new_ltEs14(vyw31000, vyw32000, bae)
new_esEs22(vyw31001, vyw32001, ty_Int) → new_esEs13(vyw31001, vyw32001)
new_primCompAux00(vyw98, LT) → LT
new_ltEs19(vyw3100, vyw3200, app(ty_[], bed)) → new_ltEs17(vyw3100, vyw3200, bed)
new_primCmpInt(Neg(Succ(vyw310000)), Neg(vyw32000)) → new_primCmpNat0(vyw32000, Succ(vyw310000))
new_esEs18(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs6(Left(vyw31000), Right(vyw32000), hd, ga) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Maybe, ed)) → new_esEs5(vyw500, vyw3000, ed)
new_esEs23(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Left(vyw32000), hd, ga) → False
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_esEs28(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_lt4(vyw31000, vyw32000) → new_esEs8(new_compare6(vyw31000, vyw32000), LT)
new_compare19(@0, @0) → EQ
new_esEs30(vyw21, vyw16, ty_Float) → new_esEs16(vyw21, vyw16)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw310000), Zero) → GT
new_esEs29(vyw50, vyw300, app(app(app(ty_@3, cae), caf), cag)) → new_esEs4(vyw50, vyw300, cae, caf, cag)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw320000))) → LT
new_compare11(vyw31000, vyw32000, True, bdf, bdg) → LT
new_esEs6(Left(vyw500), Left(vyw3000), ty_@0, bf) → new_esEs14(vyw500, vyw3000)
new_sr0(Integer(vyw310000), Integer(vyw320010)) → Integer(new_primMulInt(vyw310000, vyw320010))
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_[], cca)) → new_ltEs17(vyw31000, vyw32000, cca)
new_compare32(vyw31000, vyw32000, ty_Integer) → new_compare30(vyw31000, vyw32000)
new_primPlusNat1(Succ(vyw8900), Succ(vyw3001000)) → Succ(Succ(new_primPlusNat1(vyw8900, vyw3001000)))
new_esEs6(Left(vyw500), Left(vyw3000), ty_Char, bf) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_lt19(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_lt15(vyw31001, vyw32001, ced)
new_compare210(vyw310, vyw320, True, bga) → EQ
new_esEs27(vyw501, vyw3001, app(ty_Maybe, dcg)) → new_esEs5(vyw501, vyw3001, dcg)
new_esEs30(vyw21, vyw16, ty_Integer) → new_esEs12(vyw21, vyw16)
new_esEs19(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_@0) → new_esEs14(vyw50, vyw300)
new_esEs9([], [], ee) → True
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare32(vyw31000, vyw32000, ty_Int) → new_compare9(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, ty_Bool) → new_esEs11(vyw21, vyw16)
new_primCompAux00(vyw98, EQ) → vyw98
new_primCmpInt(Pos(Zero), Pos(Succ(vyw320000))) → new_primCmpNat0(Zero, Succ(vyw320000))
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cac, cad) → new_asAs(new_esEs25(vyw500, vyw3000, cac), new_esEs24(vyw501, vyw3001, cad))
new_ltEs18(vyw31001, vyw32001, ty_Int) → new_ltEs9(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Int, ga) → new_ltEs9(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, app(app(ty_@2, dbh), dca)) → new_esEs7(vyw501, vyw3001, dbh, dca)
new_esEs27(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_@2, bac), bad)) → new_ltEs4(vyw31000, vyw32000, bac, bad)
new_esEs23(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_esEs10(vyw31000, vyw32000, bef)
new_compare12(vyw31000, vyw32000, False) → GT
new_ltEs16(EQ, EQ) → True
new_esEs23(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, ty_@0) → new_lt11(vyw31001, vyw32001)
new_lt20(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_ltEs8(vyw3100, vyw3200) → new_not(new_esEs8(new_compare13(vyw3100, vyw3200), GT))
new_lt5(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Float) → new_esEs16(vyw502, vyw3002)
new_esEs30(vyw21, vyw16, app(ty_Ratio, beh)) → new_esEs10(vyw21, vyw16, beh)
new_esEs30(vyw21, vyw16, app(app(ty_Either, bff), bfg)) → new_esEs6(vyw21, vyw16, bff, bfg)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_@2, ca), cb), bf) → new_esEs7(vyw500, vyw3000, ca, cb)
new_lt20(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_not(False) → True
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_Either, cf), cg), bf) → new_esEs6(vyw500, vyw3000, cf, cg)
new_esEs30(vyw21, vyw16, ty_@0) → new_esEs14(vyw21, vyw16)
new_ltEs18(vyw31001, vyw32001, app(ty_Ratio, bca)) → new_ltEs14(vyw31001, vyw32001, bca)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_compare32(vyw31000, vyw32000, ty_Char) → new_compare7(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_lt13(vyw31001, vyw32001, cdh, cea)
new_compare110(vyw72, vyw73, True, cab) → LT
new_primCmpInt(Pos(Succ(vyw310000)), Pos(vyw32000)) → new_primCmpNat0(Succ(vyw310000), vyw32000)
new_primPlusNat0(Zero, vyw300100) → Succ(vyw300100)
new_esEs29(vyw50, vyw300, ty_Integer) → new_esEs12(vyw50, vyw300)
new_esEs19(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_esEs7(vyw31000, vyw32000, bda, bdb)
new_esEs30(vyw21, vyw16, app(app(ty_@2, bfa), bfb)) → new_esEs7(vyw21, vyw16, bfa, bfb)
new_esEs26(vyw502, vyw3002, app(ty_[], dad)) → new_esEs9(vyw502, vyw3002, dad)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, cgg), cgh)) → new_esEs6(vyw501, vyw3001, cgg, cgh)
new_esEs19(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Ratio, bh), bf) → new_esEs10(vyw500, vyw3000, bh)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Bool, ga) → new_ltEs15(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, app(ty_[], dch)) → new_esEs9(vyw500, vyw3000, dch)
new_lt19(vyw31001, vyw32001, ty_Float) → new_lt7(vyw31001, vyw32001)
new_compare17(vyw31000, vyw32000, True) → LT
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, chf), chg), chh)) → new_esEs4(vyw500, vyw3000, chf, chg, chh)
new_lt5(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_lt14(vyw31000, vyw32000, bda, bdb)
new_esEs27(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_compare0(:(vyw31000, vyw31001), [], bed) → GT
new_compare24(vyw31000, vyw32000, False, bdf, bdg) → new_compare11(vyw31000, vyw32000, new_ltEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs22(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_esEs4(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs27(vyw501, vyw3001, app(app(ty_Either, dce), dcf)) → new_esEs6(vyw501, vyw3001, dce, dcf)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, cha)) → new_esEs5(vyw501, vyw3001, cha)
new_lt12(vyw31000, vyw32000, bde) → new_esEs8(new_compare8(vyw31000, vyw32000, bde), LT)
new_esEs22(vyw31001, vyw32001, ty_Bool) → new_esEs11(vyw31001, vyw32001)
new_compare11(vyw31000, vyw32000, False, bdf, bdg) → GT
new_esEs19(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_esEs4(vyw31000, vyw32000, bcc, bcd, bce)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw310000)), Neg(vyw32000)) → GT
new_ltEs19(vyw3100, vyw3200, ty_Int) → new_ltEs9(vyw3100, vyw3200)
new_ltEs9(vyw3100, vyw3200) → new_not(new_esEs8(new_compare9(vyw3100, vyw3200), GT))
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_esEs19(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_primMulInt(Pos(vyw5010), Pos(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt19(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_lt14(vyw31001, vyw32001, ceb, cec)
new_esEs27(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs13(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_esEs27(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_primMulInt(Neg(vyw5010), Neg(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt5(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_primEqNat0(Succ(vyw5000), Zero) → False
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_lt20(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_lt15(vyw31000, vyw32000, bef)
new_esEs26(vyw502, vyw3002, app(app(ty_@2, daf), dag)) → new_esEs7(vyw502, vyw3002, daf, dag)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_compare23(vyw31000, vyw32000, False, bd, be) → new_compare10(vyw31000, vyw32000, new_ltEs4(vyw31000, vyw32000, bd, be), bd, be)
new_lt5(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_lt13(vyw31000, vyw32000, bcg, bch)
new_lt8(vyw31000, vyw32000) → new_esEs8(new_compare9(vyw31000, vyw32000), LT)
new_ltEs18(vyw31001, vyw32001, ty_Integer) → new_ltEs7(vyw31001, vyw32001)
new_ltEs18(vyw31001, vyw32001, app(ty_[], bcb)) → new_ltEs17(vyw31001, vyw32001, bcb)
new_esEs19(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_esEs5(vyw31000, vyw32000, bcf)
new_lt13(vyw31000, vyw32000, bdf, bdg) → new_esEs8(new_compare15(vyw31000, vyw32000, bdf, bdg), LT)
new_esEs29(vyw50, vyw300, app(app(ty_Either, db), bf)) → new_esEs6(vyw50, vyw300, db, bf)
new_ltEs20(vyw31002, vyw32002, ty_Ordering) → new_ltEs16(vyw31002, vyw32002)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, app(ty_Maybe, dbe)) → new_esEs5(vyw502, vyw3002, dbe)
new_esEs19(vyw31000, vyw32000, app(ty_[], bdd)) → new_esEs9(vyw31000, vyw32000, bdd)
new_esEs27(vyw501, vyw3001, app(ty_Ratio, dbg)) → new_esEs10(vyw501, vyw3001, dbg)
new_compare23(vyw31000, vyw32000, True, bd, be) → EQ
new_primCmpInt(Neg(Zero), Neg(Succ(vyw320000))) → new_primCmpNat0(Succ(vyw320000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw320000))) → GT
new_compare110(vyw72, vyw73, False, cab) → GT
new_esEs6(Left(vyw500), Left(vyw3000), ty_Ordering, bf) → new_esEs8(vyw500, vyw3000)
new_esEs11(False, True) → False
new_esEs11(True, False) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Ratio, dd)) → new_esEs10(vyw500, vyw3000, dd)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(ty_[], cee)) → new_lt18(vyw31001, vyw32001, cee)
new_esEs26(vyw502, vyw3002, ty_@0) → new_esEs14(vyw502, vyw3002)
new_esEs27(vyw501, vyw3001, app(ty_[], dbf)) → new_esEs9(vyw501, vyw3001, dbf)
new_lt20(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, app(ty_[], chb)) → new_esEs9(vyw500, vyw3000, chb)
new_esEs23(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_ltEs17(vyw3100, vyw3200, bed) → new_not(new_esEs8(new_compare0(vyw3100, vyw3200, bed), GT))
new_compare14(vyw31000, vyw32000, bdh, bea, beb) → new_compare27(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Maybe, cbc)) → new_ltEs13(vyw31000, vyw32000, cbc)
new_compare8(vyw31000, vyw32000, bde) → new_compare210(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, bde), bde)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_Either, baa), bab)) → new_ltEs6(vyw31000, vyw32000, baa, bab)
new_compare16(vyw31000, vyw32000) → new_compare25(vyw31000, vyw32000, new_esEs11(vyw31000, vyw32000))
new_esEs23(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_ltEs14(vyw3100, vyw3200, bgf) → new_not(new_esEs8(new_compare29(vyw3100, vyw3200, bgf), GT))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(app(ty_@3, he), hf), hg)) → new_ltEs11(vyw31000, vyw32000, he, hf, hg)
new_ltEs13(Just(vyw31000), Nothing, bge) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare32(vyw31000, vyw32000, ty_Float) → new_compare13(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_compare32(vyw31000, vyw32000, app(app(app(ty_@3, cef), ceg), ceh)) → new_compare14(vyw31000, vyw32000, cef, ceg, ceh)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Maybe, hh)) → new_ltEs13(vyw31000, vyw32000, hh)
new_asAs(False, vyw79) → False
new_lt5(vyw31000, vyw32000, app(ty_[], bdd)) → new_lt18(vyw31000, vyw32000, bdd)
new_lt20(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_primMulInt(Pos(vyw5010), Neg(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_primMulInt(Neg(vyw5010), Pos(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_compare32(vyw31000, vyw32000, app(app(ty_Either, cfb), cfc)) → new_compare15(vyw31000, vyw32000, cfb, cfc)
new_primMulNat0(Zero, Succ(vyw300100)) → Zero
new_primMulNat0(Succ(vyw50100), Zero) → Zero
new_ltEs20(vyw31002, vyw32002, ty_Bool) → new_ltEs15(vyw31002, vyw32002)
new_ltEs20(vyw31002, vyw32002, ty_Integer) → new_ltEs7(vyw31002, vyw32002)
new_lt5(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(ty_[], ef)) → new_esEs9(vyw500, vyw3000, ef)
new_esEs23(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_esEs7(vyw31000, vyw32000, bd, be)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Char) → new_esEs17(vyw50, vyw300)
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Int) → new_compare9(new_sr(vyw31000, vyw32001), new_sr(vyw32000, vyw31001))
new_compare12(vyw31000, vyw32000, True) → LT
new_esEs18(vyw500, vyw3000, app(ty_Maybe, fh)) → new_esEs5(vyw500, vyw3000, fh)
new_lt19(vyw31001, vyw32001, ty_Bool) → new_lt16(vyw31001, vyw32001)
new_lt19(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_lt12(vyw31001, vyw32001, cdg)
new_ltEs4(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bag, bah) → new_pePe(new_lt5(vyw31000, vyw32000, bag), new_asAs(new_esEs19(vyw31000, vyw32000, bag), new_ltEs18(vyw31001, vyw32001, bah)))
new_esEs18(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt5(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_esEs11(True, True) → True
new_compare210(Just(vyw3100), Nothing, False, bga) → GT
new_esEs23(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_esEs5(vyw31000, vyw32000, bde)
new_compare18(vyw31000, vyw32000, False, bdh, bea, beb) → GT
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Maybe, da), bf) → new_esEs5(vyw500, vyw3000, da)
new_lt19(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_lt10(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs29(vyw50, vyw300, app(ty_Ratio, bee)) → new_esEs10(vyw50, vyw300, bee)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(ty_Maybe, bbd)) → new_ltEs13(vyw31001, vyw32001, bbd)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, cga)) → new_esEs10(vyw501, vyw3001, cga)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Ratio, bha)) → new_esEs10(vyw500, vyw3000, bha)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_esEs22(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_esEs10(vyw31001, vyw32001, ced)
new_esEs5(Just(vyw500), Nothing, bgg) → False
new_esEs5(Nothing, Just(vyw3000), bgg) → False
new_esEs30(vyw21, vyw16, ty_Int) → new_esEs13(vyw21, vyw16)
new_lt18(vyw31000, vyw32000, bec) → new_esEs8(new_compare0(vyw31000, vyw32000, bec), LT)
new_esEs29(vyw50, vyw300, ty_Double) → new_esEs15(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, ty_Float) → new_esEs16(vyw31001, vyw32001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare25(vyw31000, vyw32000, False) → new_compare12(vyw31000, vyw32000, new_ltEs15(vyw31000, vyw32000))
new_esEs9(:(vyw500, vyw501), [], ee) → False
new_esEs9([], :(vyw3000, vyw3001), ee) → False
new_ltEs19(vyw3100, vyw3200, app(ty_Maybe, bge)) → new_ltEs13(vyw3100, vyw3200, bge)
new_ltEs19(vyw3100, vyw3200, app(app(app(ty_@3, bgb), bgc), bgd)) → new_ltEs11(vyw3100, vyw3200, bgb, bgc, bgd)
new_esEs19(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_esEs10(vyw31000, vyw32000, bdc)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_Either, bhg), bhh)) → new_esEs6(vyw500, vyw3000, bhg, bhh)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_esEs4(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cae, caf, cag) → new_asAs(new_esEs28(vyw500, vyw3000, cae), new_asAs(new_esEs27(vyw501, vyw3001, caf), new_esEs26(vyw502, vyw3002, cag)))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_@0) → new_esEs14(vyw31001, vyw32001)
new_esEs5(Nothing, Nothing, bgg) → True
new_esEs22(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_esEs6(vyw31001, vyw32001, cdh, cea)
new_esEs28(vyw500, vyw3000, app(ty_Maybe, dea)) → new_esEs5(vyw500, vyw3000, dea)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Ordering, ga) → new_ltEs16(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Int, bf) → new_esEs13(vyw500, vyw3000)
new_esEs18(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs30(vyw21, vyw16, ty_Char) → new_esEs17(vyw21, vyw16)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Integer, ga) → new_ltEs7(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Integer) → new_ltEs7(vyw3100, vyw3200)
new_esEs30(vyw21, vyw16, ty_Ordering) → new_esEs8(vyw21, vyw16)
new_esEs22(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_esEs5(vyw31001, vyw32001, cdg)
new_compare26(vyw31000, vyw32000, False) → new_compare17(vyw31000, vyw32000, new_ltEs16(vyw31000, vyw32000))
new_esEs26(vyw502, vyw3002, app(app(ty_Either, dbc), dbd)) → new_esEs6(vyw502, vyw3002, dbc, dbd)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Maybe, ge), ga) → new_ltEs13(vyw31000, vyw32000, ge)
new_ltEs18(vyw31001, vyw32001, ty_Bool) → new_ltEs15(vyw31001, vyw32001)
new_compare0([], :(vyw32000, vyw32001), bed) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs18(vyw31001, vyw32001, ty_Ordering) → new_ltEs16(vyw31001, vyw32001)
new_esEs10(:%(vyw500, vyw501), :%(vyw3000, vyw3001), bee) → new_asAs(new_esEs21(vyw500, vyw3000, bee), new_esEs20(vyw501, vyw3001, bee))
new_asAs(True, vyw79) → vyw79
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_primMulNat0(Succ(vyw50100), Succ(vyw300100)) → new_primPlusNat0(new_primMulNat0(vyw50100, Succ(vyw300100)), vyw300100)
new_esEs27(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_esEs30(vyw21, vyw16, app(ty_Maybe, bfh)) → new_esEs5(vyw21, vyw16, bfh)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_@2, bhb), bhc)) → new_esEs7(vyw500, vyw3000, bhb, bhc)
new_ltEs12(vyw3100, vyw3200) → new_not(new_esEs8(new_compare19(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, ty_Double) → new_esEs15(vyw502, vyw3002)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_ltEs16(LT, LT) → True
new_compare17(vyw31000, vyw32000, False) → GT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Float) → new_esEs16(vyw500, vyw3000)
new_compare27(vyw31000, vyw32000, True, bdh, bea, beb) → EQ
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs11(vyw31000, vyw32000, cah, cba, cbb)
new_esEs16(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_lt20(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_compare31(vyw31000, vyw32000) → new_compare26(vyw31000, vyw32000, new_esEs8(vyw31000, vyw32000))
new_esEs19(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs18(vyw31001, vyw32001, ty_Double) → new_ltEs5(vyw31001, vyw32001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_lt6(vyw31000, vyw32000) → new_esEs8(new_compare30(vyw31000, vyw32000), LT)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, app(ty_[], beg)) → new_esEs9(vyw21, vyw16, beg)
new_ltEs18(vyw31001, vyw32001, app(app(ty_@2, bbg), bbh)) → new_ltEs4(vyw31001, vyw32001, bbg, bbh)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_Either, cbd), cbe)) → new_ltEs6(vyw31000, vyw32000, cbd, cbe)
new_lt20(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare210(Just(vyw3100), Just(vyw3200), False, bga) → new_compare110(vyw3100, vyw3200, new_ltEs19(vyw3100, vyw3200, bga), bga)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs4(vyw501, vyw3001, cgd, cge, cgf)
new_compare28(vyw31000, vyw32000, bd, be) → new_compare23(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, bd, be), bd, be)
new_ltEs20(vyw31002, vyw32002, ty_Char) → new_ltEs10(vyw31002, vyw32002)
new_primCompAux00(vyw98, GT) → GT
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_[], bg), bf) → new_esEs9(vyw500, vyw3000, bg)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(vyw50, vyw300, ty_Ordering) → new_esEs8(vyw50, vyw300)
new_lt19(vyw31001, vyw32001, ty_Char) → new_lt9(vyw31001, vyw32001)
new_ltEs19(vyw3100, vyw3200, app(app(ty_Either, hd), ga)) → new_ltEs6(vyw3100, vyw3200, hd, ga)
new_lt20(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_lt12(vyw31000, vyw32000, bde)
new_esEs18(vyw500, vyw3000, app(ty_Ratio, eg)) → new_esEs10(vyw500, vyw3000, eg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs18(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw310000)), Pos(vyw32000)) → LT
new_compare32(vyw31000, vyw32000, app(ty_Maybe, cfa)) → new_compare8(vyw31000, vyw32000, cfa)
new_not(True) → False

The set Q consists of the following terms:

new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare14(x0, x1, x2, x3, x4)
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(True, True)
new_lt4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_compare0(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_asAs(True, x0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs15(True, True)
new_lt5(x0, x1, ty_Float)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt14(x0, x1, x2, x3)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, x0)
new_esEs8(GT, GT)
new_esEs26(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(LT, LT)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt5(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs19(x0, x1, ty_Bool)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_Char)
new_compare15(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, x2, x3)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt8(x0, x1)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_compare24(x0, x1, False, x2, x3)
new_esEs5(Nothing, Nothing, x0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare10(x0, x1, True, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Ordering)
new_compare210(x0, x1, True, x2)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(Nothing, Just(x0), False, x1)
new_esEs19(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Float)
new_esEs18(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(False, False)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, ty_Bool)
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_compare23(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs9(:(x0, x1), [], x2)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs14(x0, x1, x2)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_compare6(Double(x0, x1), Double(x2, x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs15(Double(x0, x1), Double(x2, x3))
new_esEs29(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare210(Just(x0), Just(x1), False, x2)
new_lt15(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2)
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_compare25(x0, x1, True)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare17(x0, x1, False)
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_compare32(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_compare0([], [], x0)
new_esEs30(x0, x1, ty_Double)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_@0)
new_compare28(x0, x1, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, x2, x3, x4)
new_not(True)
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs18(x0, x1, ty_Bool)
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_esEs9([], [], x0)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs12(x0, x1)
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare23(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_sr(x0, x1)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare19(@0, @0)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_compare210(Nothing, Nothing, False, x0)
new_compare8(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_compare210(Just(x0), Nothing, False, x1)
new_esEs29(x0, x1, ty_@0)
new_esEs9([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare32(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_pePe(True, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Nothing, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ UsableRulesProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, False, h, ba) → new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), GT), h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Nothing, h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), LT), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Nothing, True, ba), GT), h, ba)

The TRS R consists of the following rules:

new_ltEs11(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), bgb, bgc, bgd) → new_pePe(new_lt20(vyw31000, vyw32000, bgb), new_asAs(new_esEs23(vyw31000, vyw32000, bgb), new_pePe(new_lt19(vyw31001, vyw32001, bgc), new_asAs(new_esEs22(vyw31001, vyw32001, bgc), new_ltEs20(vyw31002, vyw32002, bgd)))))
new_lt5(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_lt12(vyw31000, vyw32000, bcf)
new_ltEs20(vyw31002, vyw32002, ty_Int) → new_ltEs9(vyw31002, vyw32002)
new_ltEs19(vyw3100, vyw3200, ty_Ordering) → new_ltEs16(vyw3100, vyw3200)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(app(ty_@3, gb), gc), gd), ga) → new_ltEs11(vyw31000, vyw32000, gb, gc, gd)
new_ltEs16(GT, GT) → True
new_ltEs15(True, False) → False
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_[], hc), ga) → new_ltEs17(vyw31000, vyw32000, hc)
new_ltEs18(vyw31001, vyw32001, ty_Float) → new_ltEs8(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Char, ga) → new_ltEs10(vyw31000, vyw32000)
new_esEs23(vyw31000, vyw32000, app(ty_[], bec)) → new_esEs9(vyw31000, vyw32000, bec)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt20(vyw31000, vyw32000, app(ty_[], bec)) → new_lt18(vyw31000, vyw32000, bec)
new_esEs17(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_compare10(vyw31000, vyw32000, True, bd, be) → LT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs16(LT, GT) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, app(app(ty_@2, cfd), cfe)) → new_compare28(vyw31000, vyw32000, cfd, cfe)
new_lt5(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_Double) → new_compare6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_primMulNat0(Zero, Zero) → Zero
new_esEs29(vyw50, vyw300, ty_Float) → new_esEs16(vyw50, vyw300)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_@2, de), df)) → new_esEs7(vyw500, vyw3000, de, df)
new_esEs26(vyw502, vyw3002, app(ty_Ratio, dae)) → new_esEs10(vyw502, vyw3002, dae)
new_primCompAux0(vyw31000, vyw32000, vyw88, bed) → new_primCompAux00(vyw88, new_compare32(vyw31000, vyw32000, bed))
new_esEs27(vyw501, vyw3001, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs4(vyw501, vyw3001, dcb, dcc, dcd)
new_esEs28(vyw500, vyw3000, app(ty_Ratio, dda)) → new_esEs10(vyw500, vyw3000, dda)
new_lt14(vyw31000, vyw32000, bd, be) → new_esEs8(new_compare28(vyw31000, vyw32000, bd, be), LT)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, daa), dab)) → new_esEs6(vyw500, vyw3000, daa, dab)
new_lt20(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_lt13(vyw31000, vyw32000, bdf, bdg)
new_ltEs13(Nothing, Just(vyw32000), bge) → True
new_compare18(vyw31000, vyw32000, True, bdh, bea, beb) → LT
new_esEs22(vyw31001, vyw32001, ty_Char) → new_esEs17(vyw31001, vyw32001)
new_lt5(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, cc), cd), ce), bf) → new_esEs4(vyw500, vyw3000, cc, cd, ce)
new_ltEs20(vyw31002, vyw32002, app(ty_Maybe, cce)) → new_ltEs13(vyw31002, vyw32002, cce)
new_esEs27(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_lt19(vyw31001, vyw32001, ty_Ordering) → new_lt17(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Bool, bf) → new_esEs11(vyw500, vyw3000)
new_ltEs20(vyw31002, vyw32002, app(app(app(ty_@3, ccb), ccc), ccd)) → new_ltEs11(vyw31002, vyw32002, ccb, ccc, ccd)
new_lt5(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_lt15(vyw31000, vyw32000, bdc)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_Either, gf), gg), ga) → new_ltEs6(vyw31000, vyw32000, gf, gg)
new_lt16(vyw31000, vyw32000) → new_esEs8(new_compare16(vyw31000, vyw32000), LT)
new_lt7(vyw31000, vyw32000) → new_esEs8(new_compare13(vyw31000, vyw32000), LT)
new_compare0(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bed) → new_primCompAux0(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bed), bed)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Ratio, cbh)) → new_ltEs14(vyw31000, vyw32000, cbh)
new_compare210(Nothing, Nothing, False, bga) → LT
new_ltEs20(vyw31002, vyw32002, app(ty_Ratio, cdb)) → new_ltEs14(vyw31002, vyw32002, cdb)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Maybe, caa)) → new_esEs5(vyw500, vyw3000, caa)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_[], bgh)) → new_esEs9(vyw500, vyw3000, bgh)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Ratio, hb), ga) → new_ltEs14(vyw31000, vyw32000, hb)
new_esEs12(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(app(app(ty_@3, fb), fc), fd)) → new_esEs4(vyw500, vyw3000, fb, fc, fd)
new_esEs28(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Integer, bf) → new_esEs12(vyw500, vyw3000)
new_pePe(False, vyw87) → vyw87
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_[], baf)) → new_ltEs17(vyw31000, vyw32000, baf)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, chd), che)) → new_esEs7(vyw500, vyw3000, chd, che)
new_esEs18(vyw500, vyw3000, app(app(ty_@2, eh), fa)) → new_esEs7(vyw500, vyw3000, eh, fa)
new_ltEs15(True, True) → True
new_lt9(vyw31000, vyw32000) → new_esEs8(new_compare7(vyw31000, vyw32000), LT)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, app(app(ty_@2, bag), bah)) → new_ltEs4(vyw3100, vyw3200, bag, bah)
new_lt19(vyw31001, vyw32001, ty_Integer) → new_lt6(vyw31001, vyw32001)
new_ltEs15(False, True) → True
new_esEs22(vyw31001, vyw32001, ty_Double) → new_esEs15(vyw31001, vyw32001)
new_lt17(vyw31000, vyw32000) → new_esEs8(new_compare31(vyw31000, vyw32000), LT)
new_ltEs16(EQ, GT) → True
new_esEs29(vyw50, vyw300, app(ty_[], ee)) → new_esEs9(vyw50, vyw300, ee)
new_lt20(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_lt10(vyw31000, vyw32000, bdh, bea, beb)
new_esEs28(vyw500, vyw3000, app(app(app(ty_@3, ddd), dde), ddf)) → new_esEs4(vyw500, vyw3000, ddd, dde, ddf)
new_esEs22(vyw31001, vyw32001, ty_Integer) → new_esEs12(vyw31001, vyw32001)
new_ltEs20(vyw31002, vyw32002, ty_Double) → new_ltEs5(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_lt10(vyw31000, vyw32000, bcc, bcd, bce)
new_compare6(Double(vyw31000, vyw31001), Double(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_compare9(vyw3100, vyw3200) → new_primCmpInt(vyw3100, vyw3200)
new_lt20(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_lt14(vyw31000, vyw32000, bd, be)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Float, ga) → new_ltEs8(vyw31000, vyw32000)
new_lt20(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_Ordering) → new_esEs8(vyw31001, vyw32001)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs15(False, False) → True
new_esEs9(:(vyw500, vyw501), :(vyw3000, vyw3001), ee) → new_asAs(new_esEs18(vyw500, vyw3000, ee), new_esEs9(vyw501, vyw3001, ee))
new_esEs18(vyw500, vyw3000, app(app(ty_Either, ff), fg)) → new_esEs6(vyw500, vyw3000, ff, fg)
new_ltEs20(vyw31002, vyw32002, app(app(ty_@2, cch), cda)) → new_ltEs4(vyw31002, vyw32002, cch, cda)
new_primCmpNat0(Zero, Succ(vyw320000)) → LT
new_compare32(vyw31000, vyw32000, ty_Bool) → new_compare16(vyw31000, vyw32000)
new_ltEs13(Nothing, Nothing, bge) → True
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_@0, ga) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Bool) → new_esEs11(vyw502, vyw3002)
new_esEs8(LT, LT) → True
new_esEs6(Right(vyw500), Left(vyw3000), db, bf) → False
new_esEs6(Left(vyw500), Right(vyw3000), db, bf) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_@2, cbf), cbg)) → new_ltEs4(vyw31000, vyw32000, cbf, cbg)
new_esEs29(vyw50, vyw300, app(app(ty_@2, cac), cad)) → new_esEs7(vyw50, vyw300, cac, cad)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare210(Nothing, Just(vyw3200), False, bga) → LT
new_esEs24(vyw501, vyw3001, app(ty_[], cfh)) → new_esEs9(vyw501, vyw3001, cfh)
new_lt11(vyw31000, vyw32000) → new_esEs8(new_compare19(vyw31000, vyw32000), LT)
new_compare0([], [], bed) → EQ
new_pePe(True, vyw87) → True
new_primEqNat0(Zero, Zero) → True
new_compare26(vyw31000, vyw32000, True) → EQ
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Double, ga) → new_ltEs5(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Char) → new_esEs17(vyw502, vyw3002)
new_esEs23(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_esEs6(vyw31000, vyw32000, bdf, bdg)
new_esEs14(@0, @0) → True
new_esEs30(vyw21, vyw16, ty_Double) → new_esEs15(vyw21, vyw16)
new_compare32(vyw31000, vyw32000, app(ty_Ratio, cff)) → new_compare29(vyw31000, vyw32000, cff)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(app(ty_@3, dg), dh), ea)) → new_esEs4(vyw500, vyw3000, dg, dh, ea)
new_ltEs20(vyw31002, vyw32002, ty_Float) → new_ltEs8(vyw31002, vyw32002)
new_esEs22(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_esEs7(vyw31001, vyw32001, ceb, cec)
new_compare30(Integer(vyw31000), Integer(vyw32000)) → new_primCmpInt(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Float) → new_ltEs8(vyw3100, vyw3200)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_Either, eb), ec)) → new_esEs6(vyw500, vyw3000, eb, ec)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Double, bf) → new_esEs15(vyw500, vyw3000)
new_ltEs16(EQ, LT) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_@0) → new_compare19(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Int) → new_esEs13(vyw50, vyw300)
new_ltEs16(GT, EQ) → False
new_ltEs18(vyw31001, vyw32001, ty_Char) → new_ltEs10(vyw31001, vyw32001)
new_sr(vyw501, vyw3001) → new_primMulInt(vyw501, vyw3001)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_@0) → new_ltEs12(vyw3100, vyw3200)
new_esEs28(vyw500, vyw3000, app(app(ty_Either, ddg), ddh)) → new_esEs6(vyw500, vyw3000, ddg, ddh)
new_lt19(vyw31001, vyw32001, ty_Int) → new_lt8(vyw31001, vyw32001)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, cgb), cgc)) → new_esEs7(vyw501, vyw3001, cgb, cgc)
new_esEs26(vyw502, vyw3002, ty_Ordering) → new_esEs8(vyw502, vyw3002)
new_ltEs19(vyw3100, vyw3200, ty_Char) → new_ltEs10(vyw3100, vyw3200)
new_esEs8(GT, GT) → True
new_esEs30(vyw21, vyw16, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs4(vyw21, vyw16, bfc, bfd, bfe)
new_primPlusNat0(Succ(vyw890), vyw300100) → Succ(Succ(new_primPlusNat1(vyw890, vyw300100)))
new_esEs13(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, app(ty_[], cee)) → new_esEs9(vyw31001, vyw32001, cee)
new_ltEs20(vyw31002, vyw32002, app(app(ty_Either, ccf), ccg)) → new_ltEs6(vyw31002, vyw32002, ccf, ccg)
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_Bool) → new_ltEs15(vyw3100, vyw3200)
new_ltEs10(vyw3100, vyw3200) → new_not(new_esEs8(new_compare7(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs4(vyw502, vyw3002, dah, dba, dbb)
new_ltEs19(vyw3100, vyw3200, app(ty_Ratio, bgf)) → new_ltEs14(vyw3100, vyw3200, bgf)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_[], dc)) → new_esEs9(vyw500, vyw3000, dc)
new_ltEs5(vyw3100, vyw3200) → new_not(new_esEs8(new_compare6(vyw3100, vyw3200), GT))
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_lt10(vyw31000, vyw32000, bdh, bea, beb) → new_esEs8(new_compare14(vyw31000, vyw32000, bdh, bea, beb), LT)
new_compare27(vyw31000, vyw32000, False, bdh, bea, beb) → new_compare18(vyw31000, vyw32000, new_ltEs11(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_esEs28(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs29(vyw50, vyw300, ty_Bool) → new_esEs11(vyw50, vyw300)
new_esEs26(vyw502, vyw3002, ty_Integer) → new_esEs12(vyw502, vyw3002)
new_esEs28(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare25(vyw31000, vyw32000, True) → EQ
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Integer) → new_compare30(new_sr0(vyw31000, vyw32001), new_sr0(vyw32000, vyw31001))
new_compare32(vyw31000, vyw32000, ty_Ordering) → new_compare31(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_@2, gh), ha), ga) → new_ltEs4(vyw31000, vyw32000, gh, ha)
new_ltEs16(LT, EQ) → True
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Double) → new_ltEs5(vyw3100, vyw3200)
new_lt15(vyw31000, vyw32000, bef) → new_esEs8(new_compare29(vyw31000, vyw32000, bef), LT)
new_primPlusNat1(Succ(vyw8900), Zero) → Succ(vyw8900)
new_primPlusNat1(Zero, Succ(vyw3001000)) → Succ(vyw3001000)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, chc)) → new_esEs10(vyw500, vyw3000, chc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs7(vyw3100, vyw3200) → new_not(new_esEs8(new_compare30(vyw3100, vyw3200), GT))
new_ltEs20(vyw31002, vyw32002, ty_@0) → new_ltEs12(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_esEs5(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs16(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs4(vyw31000, vyw32000, bdh, bea, beb)
new_compare7(Char(vyw31000), Char(vyw32000)) → new_primCmpNat0(vyw31000, vyw32000)
new_compare24(vyw31000, vyw32000, True, bdf, bdg) → EQ
new_esEs28(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt20(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_ltEs16(GT, LT) → False
new_compare32(vyw31000, vyw32000, app(ty_[], cfg)) → new_compare0(vyw31000, vyw32000, cfg)
new_esEs28(vyw500, vyw3000, app(app(ty_@2, ddb), ddc)) → new_esEs7(vyw500, vyw3000, ddb, ddc)
new_primCmpNat0(Succ(vyw310000), Succ(vyw320000)) → new_primCmpNat0(vyw310000, vyw320000)
new_ltEs18(vyw31001, vyw32001, app(app(ty_Either, bbe), bbf)) → new_ltEs6(vyw31001, vyw32001, bbe, bbf)
new_esEs18(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs4(vyw500, vyw3000, bhd, bhe, bhf)
new_esEs11(False, False) → True
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare10(vyw31000, vyw32000, False, bd, be) → GT
new_lt19(vyw31001, vyw32001, ty_Double) → new_lt4(vyw31001, vyw32001)
new_esEs25(vyw500, vyw3000, app(ty_Maybe, dac)) → new_esEs5(vyw500, vyw3000, dac)
new_compare15(vyw31000, vyw32000, bdf, bdg) → new_compare24(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs29(vyw50, vyw300, app(ty_Maybe, bgg)) → new_esEs5(vyw50, vyw300, bgg)
new_esEs28(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs11(vyw31001, vyw32001, bba, bbb, bbc)
new_esEs23(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs19(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_esEs6(vyw31000, vyw32000, bcg, bch)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs26(vyw502, vyw3002, ty_Int) → new_esEs13(vyw502, vyw3002)
new_ltEs20(vyw31002, vyw32002, app(ty_[], cdc)) → new_ltEs17(vyw31002, vyw32002, cdc)
new_esEs15(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_esEs27(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs18(vyw31001, vyw32001, ty_@0) → new_ltEs12(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Float, bf) → new_esEs16(vyw500, vyw3000)
new_compare13(Float(vyw31000, vyw31001), Float(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Ratio, bae)) → new_ltEs14(vyw31000, vyw32000, bae)
new_esEs22(vyw31001, vyw32001, ty_Int) → new_esEs13(vyw31001, vyw32001)
new_primCompAux00(vyw98, LT) → LT
new_ltEs19(vyw3100, vyw3200, app(ty_[], bed)) → new_ltEs17(vyw3100, vyw3200, bed)
new_primCmpInt(Neg(Succ(vyw310000)), Neg(vyw32000)) → new_primCmpNat0(vyw32000, Succ(vyw310000))
new_esEs18(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs6(Left(vyw31000), Right(vyw32000), hd, ga) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Maybe, ed)) → new_esEs5(vyw500, vyw3000, ed)
new_esEs23(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Left(vyw32000), hd, ga) → False
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_esEs28(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_lt4(vyw31000, vyw32000) → new_esEs8(new_compare6(vyw31000, vyw32000), LT)
new_compare19(@0, @0) → EQ
new_esEs30(vyw21, vyw16, ty_Float) → new_esEs16(vyw21, vyw16)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw310000), Zero) → GT
new_esEs29(vyw50, vyw300, app(app(app(ty_@3, cae), caf), cag)) → new_esEs4(vyw50, vyw300, cae, caf, cag)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw320000))) → LT
new_compare11(vyw31000, vyw32000, True, bdf, bdg) → LT
new_esEs6(Left(vyw500), Left(vyw3000), ty_@0, bf) → new_esEs14(vyw500, vyw3000)
new_sr0(Integer(vyw310000), Integer(vyw320010)) → Integer(new_primMulInt(vyw310000, vyw320010))
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_[], cca)) → new_ltEs17(vyw31000, vyw32000, cca)
new_compare32(vyw31000, vyw32000, ty_Integer) → new_compare30(vyw31000, vyw32000)
new_primPlusNat1(Succ(vyw8900), Succ(vyw3001000)) → Succ(Succ(new_primPlusNat1(vyw8900, vyw3001000)))
new_esEs6(Left(vyw500), Left(vyw3000), ty_Char, bf) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_lt19(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_lt15(vyw31001, vyw32001, ced)
new_compare210(vyw310, vyw320, True, bga) → EQ
new_esEs27(vyw501, vyw3001, app(ty_Maybe, dcg)) → new_esEs5(vyw501, vyw3001, dcg)
new_esEs30(vyw21, vyw16, ty_Integer) → new_esEs12(vyw21, vyw16)
new_esEs19(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_@0) → new_esEs14(vyw50, vyw300)
new_esEs9([], [], ee) → True
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare32(vyw31000, vyw32000, ty_Int) → new_compare9(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, ty_Bool) → new_esEs11(vyw21, vyw16)
new_primCompAux00(vyw98, EQ) → vyw98
new_primCmpInt(Pos(Zero), Pos(Succ(vyw320000))) → new_primCmpNat0(Zero, Succ(vyw320000))
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cac, cad) → new_asAs(new_esEs25(vyw500, vyw3000, cac), new_esEs24(vyw501, vyw3001, cad))
new_ltEs18(vyw31001, vyw32001, ty_Int) → new_ltEs9(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Int, ga) → new_ltEs9(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, app(app(ty_@2, dbh), dca)) → new_esEs7(vyw501, vyw3001, dbh, dca)
new_esEs27(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_@2, bac), bad)) → new_ltEs4(vyw31000, vyw32000, bac, bad)
new_esEs23(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_esEs10(vyw31000, vyw32000, bef)
new_compare12(vyw31000, vyw32000, False) → GT
new_ltEs16(EQ, EQ) → True
new_esEs23(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, ty_@0) → new_lt11(vyw31001, vyw32001)
new_lt20(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_ltEs8(vyw3100, vyw3200) → new_not(new_esEs8(new_compare13(vyw3100, vyw3200), GT))
new_lt5(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Float) → new_esEs16(vyw502, vyw3002)
new_esEs30(vyw21, vyw16, app(ty_Ratio, beh)) → new_esEs10(vyw21, vyw16, beh)
new_esEs30(vyw21, vyw16, app(app(ty_Either, bff), bfg)) → new_esEs6(vyw21, vyw16, bff, bfg)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_@2, ca), cb), bf) → new_esEs7(vyw500, vyw3000, ca, cb)
new_lt20(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_not(False) → True
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_Either, cf), cg), bf) → new_esEs6(vyw500, vyw3000, cf, cg)
new_esEs30(vyw21, vyw16, ty_@0) → new_esEs14(vyw21, vyw16)
new_ltEs18(vyw31001, vyw32001, app(ty_Ratio, bca)) → new_ltEs14(vyw31001, vyw32001, bca)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_compare32(vyw31000, vyw32000, ty_Char) → new_compare7(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_lt13(vyw31001, vyw32001, cdh, cea)
new_compare110(vyw72, vyw73, True, cab) → LT
new_primCmpInt(Pos(Succ(vyw310000)), Pos(vyw32000)) → new_primCmpNat0(Succ(vyw310000), vyw32000)
new_primPlusNat0(Zero, vyw300100) → Succ(vyw300100)
new_esEs29(vyw50, vyw300, ty_Integer) → new_esEs12(vyw50, vyw300)
new_esEs19(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_esEs7(vyw31000, vyw32000, bda, bdb)
new_esEs30(vyw21, vyw16, app(app(ty_@2, bfa), bfb)) → new_esEs7(vyw21, vyw16, bfa, bfb)
new_esEs26(vyw502, vyw3002, app(ty_[], dad)) → new_esEs9(vyw502, vyw3002, dad)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, cgg), cgh)) → new_esEs6(vyw501, vyw3001, cgg, cgh)
new_esEs19(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Ratio, bh), bf) → new_esEs10(vyw500, vyw3000, bh)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Bool, ga) → new_ltEs15(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, app(ty_[], dch)) → new_esEs9(vyw500, vyw3000, dch)
new_lt19(vyw31001, vyw32001, ty_Float) → new_lt7(vyw31001, vyw32001)
new_compare17(vyw31000, vyw32000, True) → LT
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, chf), chg), chh)) → new_esEs4(vyw500, vyw3000, chf, chg, chh)
new_lt5(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_lt14(vyw31000, vyw32000, bda, bdb)
new_esEs27(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_compare0(:(vyw31000, vyw31001), [], bed) → GT
new_compare24(vyw31000, vyw32000, False, bdf, bdg) → new_compare11(vyw31000, vyw32000, new_ltEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs22(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_esEs4(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs27(vyw501, vyw3001, app(app(ty_Either, dce), dcf)) → new_esEs6(vyw501, vyw3001, dce, dcf)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, cha)) → new_esEs5(vyw501, vyw3001, cha)
new_lt12(vyw31000, vyw32000, bde) → new_esEs8(new_compare8(vyw31000, vyw32000, bde), LT)
new_esEs22(vyw31001, vyw32001, ty_Bool) → new_esEs11(vyw31001, vyw32001)
new_compare11(vyw31000, vyw32000, False, bdf, bdg) → GT
new_esEs19(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_esEs4(vyw31000, vyw32000, bcc, bcd, bce)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw310000)), Neg(vyw32000)) → GT
new_ltEs19(vyw3100, vyw3200, ty_Int) → new_ltEs9(vyw3100, vyw3200)
new_ltEs9(vyw3100, vyw3200) → new_not(new_esEs8(new_compare9(vyw3100, vyw3200), GT))
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_esEs19(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_primMulInt(Pos(vyw5010), Pos(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt19(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_lt14(vyw31001, vyw32001, ceb, cec)
new_esEs27(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs13(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_esEs27(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_primMulInt(Neg(vyw5010), Neg(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt5(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_primEqNat0(Succ(vyw5000), Zero) → False
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_lt20(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_lt15(vyw31000, vyw32000, bef)
new_esEs26(vyw502, vyw3002, app(app(ty_@2, daf), dag)) → new_esEs7(vyw502, vyw3002, daf, dag)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_compare23(vyw31000, vyw32000, False, bd, be) → new_compare10(vyw31000, vyw32000, new_ltEs4(vyw31000, vyw32000, bd, be), bd, be)
new_lt5(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_lt13(vyw31000, vyw32000, bcg, bch)
new_lt8(vyw31000, vyw32000) → new_esEs8(new_compare9(vyw31000, vyw32000), LT)
new_ltEs18(vyw31001, vyw32001, ty_Integer) → new_ltEs7(vyw31001, vyw32001)
new_ltEs18(vyw31001, vyw32001, app(ty_[], bcb)) → new_ltEs17(vyw31001, vyw32001, bcb)
new_esEs19(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_esEs5(vyw31000, vyw32000, bcf)
new_lt13(vyw31000, vyw32000, bdf, bdg) → new_esEs8(new_compare15(vyw31000, vyw32000, bdf, bdg), LT)
new_esEs29(vyw50, vyw300, app(app(ty_Either, db), bf)) → new_esEs6(vyw50, vyw300, db, bf)
new_ltEs20(vyw31002, vyw32002, ty_Ordering) → new_ltEs16(vyw31002, vyw32002)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, app(ty_Maybe, dbe)) → new_esEs5(vyw502, vyw3002, dbe)
new_esEs19(vyw31000, vyw32000, app(ty_[], bdd)) → new_esEs9(vyw31000, vyw32000, bdd)
new_esEs27(vyw501, vyw3001, app(ty_Ratio, dbg)) → new_esEs10(vyw501, vyw3001, dbg)
new_compare23(vyw31000, vyw32000, True, bd, be) → EQ
new_primCmpInt(Neg(Zero), Neg(Succ(vyw320000))) → new_primCmpNat0(Succ(vyw320000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw320000))) → GT
new_compare110(vyw72, vyw73, False, cab) → GT
new_esEs6(Left(vyw500), Left(vyw3000), ty_Ordering, bf) → new_esEs8(vyw500, vyw3000)
new_esEs11(False, True) → False
new_esEs11(True, False) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Ratio, dd)) → new_esEs10(vyw500, vyw3000, dd)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(ty_[], cee)) → new_lt18(vyw31001, vyw32001, cee)
new_esEs26(vyw502, vyw3002, ty_@0) → new_esEs14(vyw502, vyw3002)
new_esEs27(vyw501, vyw3001, app(ty_[], dbf)) → new_esEs9(vyw501, vyw3001, dbf)
new_lt20(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, app(ty_[], chb)) → new_esEs9(vyw500, vyw3000, chb)
new_esEs23(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_ltEs17(vyw3100, vyw3200, bed) → new_not(new_esEs8(new_compare0(vyw3100, vyw3200, bed), GT))
new_compare14(vyw31000, vyw32000, bdh, bea, beb) → new_compare27(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Maybe, cbc)) → new_ltEs13(vyw31000, vyw32000, cbc)
new_compare8(vyw31000, vyw32000, bde) → new_compare210(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, bde), bde)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_Either, baa), bab)) → new_ltEs6(vyw31000, vyw32000, baa, bab)
new_compare16(vyw31000, vyw32000) → new_compare25(vyw31000, vyw32000, new_esEs11(vyw31000, vyw32000))
new_esEs23(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_ltEs14(vyw3100, vyw3200, bgf) → new_not(new_esEs8(new_compare29(vyw3100, vyw3200, bgf), GT))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(app(ty_@3, he), hf), hg)) → new_ltEs11(vyw31000, vyw32000, he, hf, hg)
new_ltEs13(Just(vyw31000), Nothing, bge) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare32(vyw31000, vyw32000, ty_Float) → new_compare13(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_compare32(vyw31000, vyw32000, app(app(app(ty_@3, cef), ceg), ceh)) → new_compare14(vyw31000, vyw32000, cef, ceg, ceh)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Maybe, hh)) → new_ltEs13(vyw31000, vyw32000, hh)
new_asAs(False, vyw79) → False
new_lt5(vyw31000, vyw32000, app(ty_[], bdd)) → new_lt18(vyw31000, vyw32000, bdd)
new_lt20(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_primMulInt(Pos(vyw5010), Neg(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_primMulInt(Neg(vyw5010), Pos(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_compare32(vyw31000, vyw32000, app(app(ty_Either, cfb), cfc)) → new_compare15(vyw31000, vyw32000, cfb, cfc)
new_primMulNat0(Zero, Succ(vyw300100)) → Zero
new_primMulNat0(Succ(vyw50100), Zero) → Zero
new_ltEs20(vyw31002, vyw32002, ty_Bool) → new_ltEs15(vyw31002, vyw32002)
new_ltEs20(vyw31002, vyw32002, ty_Integer) → new_ltEs7(vyw31002, vyw32002)
new_lt5(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(ty_[], ef)) → new_esEs9(vyw500, vyw3000, ef)
new_esEs23(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_esEs7(vyw31000, vyw32000, bd, be)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Char) → new_esEs17(vyw50, vyw300)
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Int) → new_compare9(new_sr(vyw31000, vyw32001), new_sr(vyw32000, vyw31001))
new_compare12(vyw31000, vyw32000, True) → LT
new_esEs18(vyw500, vyw3000, app(ty_Maybe, fh)) → new_esEs5(vyw500, vyw3000, fh)
new_lt19(vyw31001, vyw32001, ty_Bool) → new_lt16(vyw31001, vyw32001)
new_lt19(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_lt12(vyw31001, vyw32001, cdg)
new_ltEs4(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bag, bah) → new_pePe(new_lt5(vyw31000, vyw32000, bag), new_asAs(new_esEs19(vyw31000, vyw32000, bag), new_ltEs18(vyw31001, vyw32001, bah)))
new_esEs18(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt5(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_esEs11(True, True) → True
new_compare210(Just(vyw3100), Nothing, False, bga) → GT
new_esEs23(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_esEs5(vyw31000, vyw32000, bde)
new_compare18(vyw31000, vyw32000, False, bdh, bea, beb) → GT
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Maybe, da), bf) → new_esEs5(vyw500, vyw3000, da)
new_lt19(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_lt10(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs29(vyw50, vyw300, app(ty_Ratio, bee)) → new_esEs10(vyw50, vyw300, bee)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(ty_Maybe, bbd)) → new_ltEs13(vyw31001, vyw32001, bbd)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, cga)) → new_esEs10(vyw501, vyw3001, cga)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Ratio, bha)) → new_esEs10(vyw500, vyw3000, bha)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_esEs22(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_esEs10(vyw31001, vyw32001, ced)
new_esEs5(Just(vyw500), Nothing, bgg) → False
new_esEs5(Nothing, Just(vyw3000), bgg) → False
new_esEs30(vyw21, vyw16, ty_Int) → new_esEs13(vyw21, vyw16)
new_lt18(vyw31000, vyw32000, bec) → new_esEs8(new_compare0(vyw31000, vyw32000, bec), LT)
new_esEs29(vyw50, vyw300, ty_Double) → new_esEs15(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, ty_Float) → new_esEs16(vyw31001, vyw32001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare25(vyw31000, vyw32000, False) → new_compare12(vyw31000, vyw32000, new_ltEs15(vyw31000, vyw32000))
new_esEs9(:(vyw500, vyw501), [], ee) → False
new_esEs9([], :(vyw3000, vyw3001), ee) → False
new_ltEs19(vyw3100, vyw3200, app(ty_Maybe, bge)) → new_ltEs13(vyw3100, vyw3200, bge)
new_ltEs19(vyw3100, vyw3200, app(app(app(ty_@3, bgb), bgc), bgd)) → new_ltEs11(vyw3100, vyw3200, bgb, bgc, bgd)
new_esEs19(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_esEs10(vyw31000, vyw32000, bdc)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_Either, bhg), bhh)) → new_esEs6(vyw500, vyw3000, bhg, bhh)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_esEs4(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cae, caf, cag) → new_asAs(new_esEs28(vyw500, vyw3000, cae), new_asAs(new_esEs27(vyw501, vyw3001, caf), new_esEs26(vyw502, vyw3002, cag)))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_@0) → new_esEs14(vyw31001, vyw32001)
new_esEs5(Nothing, Nothing, bgg) → True
new_esEs22(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_esEs6(vyw31001, vyw32001, cdh, cea)
new_esEs28(vyw500, vyw3000, app(ty_Maybe, dea)) → new_esEs5(vyw500, vyw3000, dea)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Ordering, ga) → new_ltEs16(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Int, bf) → new_esEs13(vyw500, vyw3000)
new_esEs18(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs30(vyw21, vyw16, ty_Char) → new_esEs17(vyw21, vyw16)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Integer, ga) → new_ltEs7(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Integer) → new_ltEs7(vyw3100, vyw3200)
new_esEs30(vyw21, vyw16, ty_Ordering) → new_esEs8(vyw21, vyw16)
new_esEs22(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_esEs5(vyw31001, vyw32001, cdg)
new_compare26(vyw31000, vyw32000, False) → new_compare17(vyw31000, vyw32000, new_ltEs16(vyw31000, vyw32000))
new_esEs26(vyw502, vyw3002, app(app(ty_Either, dbc), dbd)) → new_esEs6(vyw502, vyw3002, dbc, dbd)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Maybe, ge), ga) → new_ltEs13(vyw31000, vyw32000, ge)
new_ltEs18(vyw31001, vyw32001, ty_Bool) → new_ltEs15(vyw31001, vyw32001)
new_compare0([], :(vyw32000, vyw32001), bed) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs18(vyw31001, vyw32001, ty_Ordering) → new_ltEs16(vyw31001, vyw32001)
new_esEs10(:%(vyw500, vyw501), :%(vyw3000, vyw3001), bee) → new_asAs(new_esEs21(vyw500, vyw3000, bee), new_esEs20(vyw501, vyw3001, bee))
new_asAs(True, vyw79) → vyw79
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_primMulNat0(Succ(vyw50100), Succ(vyw300100)) → new_primPlusNat0(new_primMulNat0(vyw50100, Succ(vyw300100)), vyw300100)
new_esEs27(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_esEs30(vyw21, vyw16, app(ty_Maybe, bfh)) → new_esEs5(vyw21, vyw16, bfh)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_@2, bhb), bhc)) → new_esEs7(vyw500, vyw3000, bhb, bhc)
new_ltEs12(vyw3100, vyw3200) → new_not(new_esEs8(new_compare19(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, ty_Double) → new_esEs15(vyw502, vyw3002)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_ltEs16(LT, LT) → True
new_compare17(vyw31000, vyw32000, False) → GT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Float) → new_esEs16(vyw500, vyw3000)
new_compare27(vyw31000, vyw32000, True, bdh, bea, beb) → EQ
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs11(vyw31000, vyw32000, cah, cba, cbb)
new_esEs16(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_lt20(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_compare31(vyw31000, vyw32000) → new_compare26(vyw31000, vyw32000, new_esEs8(vyw31000, vyw32000))
new_esEs19(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs18(vyw31001, vyw32001, ty_Double) → new_ltEs5(vyw31001, vyw32001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_lt6(vyw31000, vyw32000) → new_esEs8(new_compare30(vyw31000, vyw32000), LT)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, app(ty_[], beg)) → new_esEs9(vyw21, vyw16, beg)
new_ltEs18(vyw31001, vyw32001, app(app(ty_@2, bbg), bbh)) → new_ltEs4(vyw31001, vyw32001, bbg, bbh)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_Either, cbd), cbe)) → new_ltEs6(vyw31000, vyw32000, cbd, cbe)
new_lt20(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare210(Just(vyw3100), Just(vyw3200), False, bga) → new_compare110(vyw3100, vyw3200, new_ltEs19(vyw3100, vyw3200, bga), bga)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs4(vyw501, vyw3001, cgd, cge, cgf)
new_compare28(vyw31000, vyw32000, bd, be) → new_compare23(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, bd, be), bd, be)
new_ltEs20(vyw31002, vyw32002, ty_Char) → new_ltEs10(vyw31002, vyw32002)
new_primCompAux00(vyw98, GT) → GT
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_[], bg), bf) → new_esEs9(vyw500, vyw3000, bg)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(vyw50, vyw300, ty_Ordering) → new_esEs8(vyw50, vyw300)
new_lt19(vyw31001, vyw32001, ty_Char) → new_lt9(vyw31001, vyw32001)
new_ltEs19(vyw3100, vyw3200, app(app(ty_Either, hd), ga)) → new_ltEs6(vyw3100, vyw3200, hd, ga)
new_lt20(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_lt12(vyw31000, vyw32000, bde)
new_esEs18(vyw500, vyw3000, app(ty_Ratio, eg)) → new_esEs10(vyw500, vyw3000, eg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs18(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw310000)), Pos(vyw32000)) → LT
new_compare32(vyw31000, vyw32000, app(ty_Maybe, cfa)) → new_compare8(vyw31000, vyw32000, cfa)
new_not(True) → False

The set Q consists of the following terms:

new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare14(x0, x1, x2, x3, x4)
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(True, True)
new_lt4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_compare0(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_asAs(True, x0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs15(True, True)
new_lt5(x0, x1, ty_Float)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt14(x0, x1, x2, x3)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, x0)
new_esEs8(GT, GT)
new_esEs26(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(LT, LT)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt5(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs19(x0, x1, ty_Bool)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_Char)
new_compare15(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, x2, x3)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt8(x0, x1)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_compare24(x0, x1, False, x2, x3)
new_esEs5(Nothing, Nothing, x0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare10(x0, x1, True, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Ordering)
new_compare210(x0, x1, True, x2)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(Nothing, Just(x0), False, x1)
new_esEs19(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Float)
new_esEs18(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(False, False)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, ty_Bool)
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_compare23(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs9(:(x0, x1), [], x2)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs14(x0, x1, x2)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_compare6(Double(x0, x1), Double(x2, x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs15(Double(x0, x1), Double(x2, x3))
new_esEs29(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare210(Just(x0), Just(x1), False, x2)
new_lt15(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2)
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_compare25(x0, x1, True)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare17(x0, x1, False)
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_compare32(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_compare0([], [], x0)
new_esEs30(x0, x1, ty_Double)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_@0)
new_compare28(x0, x1, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, x2, x3, x4)
new_not(True)
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs18(x0, x1, ty_Bool)
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_esEs9([], [], x0)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs12(x0, x1)
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare23(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_sr(x0, x1)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare19(@0, @0)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_compare210(Nothing, Nothing, False, x0)
new_compare8(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_compare210(Just(x0), Nothing, False, x1)
new_esEs29(x0, x1, ty_@0)
new_esEs9([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare32(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_pePe(True, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Nothing, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, False, h, ba) → new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), GT), h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Nothing, h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), LT), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Nothing, True, ba), GT), h, ba)

The TRS R consists of the following rules:

new_compare210(vyw310, vyw320, True, bga) → EQ
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_compare210(Nothing, Just(vyw3200), False, bga) → LT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False

The set Q consists of the following terms:

new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare14(x0, x1, x2, x3, x4)
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(True, True)
new_lt4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_compare0(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_asAs(True, x0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs15(True, True)
new_lt5(x0, x1, ty_Float)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt14(x0, x1, x2, x3)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, x0)
new_esEs8(GT, GT)
new_esEs26(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(LT, LT)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt5(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs19(x0, x1, ty_Bool)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_Char)
new_compare15(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, x2, x3)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt8(x0, x1)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_compare24(x0, x1, False, x2, x3)
new_esEs5(Nothing, Nothing, x0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare10(x0, x1, True, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Ordering)
new_compare210(x0, x1, True, x2)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(Nothing, Just(x0), False, x1)
new_esEs19(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Float)
new_esEs18(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(False, False)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, ty_Bool)
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_compare23(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs9(:(x0, x1), [], x2)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs14(x0, x1, x2)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_compare6(Double(x0, x1), Double(x2, x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs15(Double(x0, x1), Double(x2, x3))
new_esEs29(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare210(Just(x0), Just(x1), False, x2)
new_lt15(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2)
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_compare25(x0, x1, True)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare17(x0, x1, False)
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_compare32(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_compare0([], [], x0)
new_esEs30(x0, x1, ty_Double)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_@0)
new_compare28(x0, x1, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, x2, x3, x4)
new_not(True)
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs18(x0, x1, ty_Bool)
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_esEs9([], [], x0)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs12(x0, x1)
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare23(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_sr(x0, x1)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare19(@0, @0)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_compare210(Nothing, Nothing, False, x0)
new_compare8(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_compare210(Just(x0), Nothing, False, x1)
new_esEs29(x0, x1, ty_@0)
new_esEs9([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare32(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_pePe(True, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Nothing, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare14(x0, x1, x2, x3, x4)
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(True, True)
new_lt4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_compare0(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_asAs(True, x0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs15(True, True)
new_lt5(x0, x1, ty_Float)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt14(x0, x1, x2, x3)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, x0)
new_esEs26(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt5(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs19(x0, x1, ty_Bool)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_Char)
new_compare15(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, x2, x3)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt8(x0, x1)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_compare24(x0, x1, False, x2, x3)
new_esEs5(Nothing, Nothing, x0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare10(x0, x1, True, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Float)
new_esEs18(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(False, False)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, ty_Bool)
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_compare23(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs9(:(x0, x1), [], x2)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs14(x0, x1, x2)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_compare6(Double(x0, x1), Double(x2, x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs15(Double(x0, x1), Double(x2, x3))
new_esEs29(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt15(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2)
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_compare25(x0, x1, True)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare17(x0, x1, False)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_compare32(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_compare0([], [], x0)
new_esEs30(x0, x1, ty_Double)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_@0)
new_compare28(x0, x1, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, x2, x3, x4)
new_not(True)
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs18(x0, x1, ty_Bool)
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_esEs9([], [], x0)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs12(x0, x1)
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare23(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_sr(x0, x1)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare19(@0, @0)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_compare8(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_@0)
new_esEs9([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare32(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_pePe(True, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Nothing, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Nothing, h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, False, h, ba) → new_lookupWithDefaultFM04(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), GT), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Just(vyw300), False, ba), LT), h, ba)
new_lookupWithDefaultFM01(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Nothing, h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Nothing, h, ba) → new_lookupWithDefaultFM0(vyw4, vyw31, vyw32, vyw33, vyw34, new_esEs8(new_compare210(Nothing, Nothing, True, ba), GT), h, ba)

The TRS R consists of the following rules:

new_compare210(vyw310, vyw320, True, bga) → EQ
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_compare210(Nothing, Just(vyw3200), False, bga) → LT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False

The set Q consists of the following terms:

new_esEs8(GT, GT)
new_esEs8(LT, LT)
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_compare210(x0, x1, True, x2)
new_compare210(Nothing, Just(x0), False, x1)
new_compare210(Just(x0), Just(x1), False, x2)
new_esEs8(EQ, EQ)
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare210(Nothing, Nothing, False, x0)
new_compare210(Just(x0), Nothing, False, x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM06(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, True, bb, bc) → new_lookupWithDefaultFM00(vyw15, vyw20, Just(vyw21), bb, bc)
new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw33, Just(vyw50), h, ba)
new_lookupWithDefaultFM03(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, True, bb, bc) → new_lookupWithDefaultFM00(vyw15, vyw19, Just(vyw21), bb, bc)
new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, False, h, ba) → new_lookupWithDefaultFM05(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Nothing, False, ba), GT), h, ba)
new_lookupWithDefaultFM05(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, True, h, ba) → new_lookupWithDefaultFM00(vyw4, vyw34, Just(vyw50), h, ba)
new_lookupWithDefaultFM03(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, False, bb, bc) → new_lookupWithDefaultFM06(vyw15, vyw16, vyw17, vyw18, vyw19, vyw20, vyw21, new_esEs8(new_compare210(Just(vyw21), Just(vyw16), new_esEs30(vyw21, vyw16, bc), bc), GT), bb, bc)
new_lookupWithDefaultFM00(vyw4, Branch(Nothing, vyw31, vyw32, vyw33, vyw34), Just(vyw50), h, ba) → new_lookupWithDefaultFM02(vyw4, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Nothing, False, ba), LT), h, ba)
new_lookupWithDefaultFM00(vyw4, Branch(Just(vyw300), vyw31, vyw32, vyw33, vyw34), Just(vyw50), h, ba) → new_lookupWithDefaultFM03(vyw4, vyw300, vyw31, vyw32, vyw33, vyw34, vyw50, new_esEs8(new_compare210(Just(vyw50), Just(vyw300), new_esEs29(vyw50, vyw300, ba), ba), LT), h, ba)

The TRS R consists of the following rules:

new_ltEs11(@3(vyw31000, vyw31001, vyw31002), @3(vyw32000, vyw32001, vyw32002), bgb, bgc, bgd) → new_pePe(new_lt20(vyw31000, vyw32000, bgb), new_asAs(new_esEs23(vyw31000, vyw32000, bgb), new_pePe(new_lt19(vyw31001, vyw32001, bgc), new_asAs(new_esEs22(vyw31001, vyw32001, bgc), new_ltEs20(vyw31002, vyw32002, bgd)))))
new_lt5(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_lt12(vyw31000, vyw32000, bcf)
new_ltEs20(vyw31002, vyw32002, ty_Int) → new_ltEs9(vyw31002, vyw32002)
new_ltEs19(vyw3100, vyw3200, ty_Ordering) → new_ltEs16(vyw3100, vyw3200)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(app(ty_@3, gb), gc), gd), ga) → new_ltEs11(vyw31000, vyw32000, gb, gc, gd)
new_ltEs16(GT, GT) → True
new_ltEs15(True, False) → False
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_[], hc), ga) → new_ltEs17(vyw31000, vyw32000, hc)
new_ltEs18(vyw31001, vyw32001, ty_Float) → new_ltEs8(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Char, ga) → new_ltEs10(vyw31000, vyw32000)
new_esEs23(vyw31000, vyw32000, app(ty_[], bec)) → new_esEs9(vyw31000, vyw32000, bec)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt20(vyw31000, vyw32000, app(ty_[], bec)) → new_lt18(vyw31000, vyw32000, bec)
new_esEs17(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_compare10(vyw31000, vyw32000, True, bd, be) → LT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs16(LT, GT) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, app(app(ty_@2, cfd), cfe)) → new_compare28(vyw31000, vyw32000, cfd, cfe)
new_lt5(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_Double) → new_compare6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_primMulNat0(Zero, Zero) → Zero
new_esEs29(vyw50, vyw300, ty_Float) → new_esEs16(vyw50, vyw300)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_@2, de), df)) → new_esEs7(vyw500, vyw3000, de, df)
new_esEs26(vyw502, vyw3002, app(ty_Ratio, dae)) → new_esEs10(vyw502, vyw3002, dae)
new_primCompAux0(vyw31000, vyw32000, vyw88, bed) → new_primCompAux00(vyw88, new_compare32(vyw31000, vyw32000, bed))
new_esEs27(vyw501, vyw3001, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs4(vyw501, vyw3001, dcb, dcc, dcd)
new_esEs28(vyw500, vyw3000, app(ty_Ratio, dda)) → new_esEs10(vyw500, vyw3000, dda)
new_lt14(vyw31000, vyw32000, bd, be) → new_esEs8(new_compare28(vyw31000, vyw32000, bd, be), LT)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, daa), dab)) → new_esEs6(vyw500, vyw3000, daa, dab)
new_lt20(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_lt13(vyw31000, vyw32000, bdf, bdg)
new_ltEs13(Nothing, Just(vyw32000), bge) → True
new_compare18(vyw31000, vyw32000, True, bdh, bea, beb) → LT
new_esEs22(vyw31001, vyw32001, ty_Char) → new_esEs17(vyw31001, vyw32001)
new_lt5(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, cc), cd), ce), bf) → new_esEs4(vyw500, vyw3000, cc, cd, ce)
new_ltEs20(vyw31002, vyw32002, app(ty_Maybe, cce)) → new_ltEs13(vyw31002, vyw32002, cce)
new_esEs27(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_lt19(vyw31001, vyw32001, ty_Ordering) → new_lt17(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Bool, bf) → new_esEs11(vyw500, vyw3000)
new_ltEs20(vyw31002, vyw32002, app(app(app(ty_@3, ccb), ccc), ccd)) → new_ltEs11(vyw31002, vyw32002, ccb, ccc, ccd)
new_lt5(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_lt15(vyw31000, vyw32000, bdc)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_Either, gf), gg), ga) → new_ltEs6(vyw31000, vyw32000, gf, gg)
new_lt16(vyw31000, vyw32000) → new_esEs8(new_compare16(vyw31000, vyw32000), LT)
new_lt7(vyw31000, vyw32000) → new_esEs8(new_compare13(vyw31000, vyw32000), LT)
new_compare0(:(vyw31000, vyw31001), :(vyw32000, vyw32001), bed) → new_primCompAux0(vyw31000, vyw32000, new_compare0(vyw31001, vyw32001, bed), bed)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Ratio, cbh)) → new_ltEs14(vyw31000, vyw32000, cbh)
new_compare210(Nothing, Nothing, False, bga) → LT
new_ltEs20(vyw31002, vyw32002, app(ty_Ratio, cdb)) → new_ltEs14(vyw31002, vyw32002, cdb)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Maybe, caa)) → new_esEs5(vyw500, vyw3000, caa)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_[], bgh)) → new_esEs9(vyw500, vyw3000, bgh)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Ratio, hb), ga) → new_ltEs14(vyw31000, vyw32000, hb)
new_esEs12(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(app(app(ty_@3, fb), fc), fd)) → new_esEs4(vyw500, vyw3000, fb, fc, fd)
new_esEs28(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Integer, bf) → new_esEs12(vyw500, vyw3000)
new_pePe(False, vyw87) → vyw87
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_[], baf)) → new_ltEs17(vyw31000, vyw32000, baf)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, chd), che)) → new_esEs7(vyw500, vyw3000, chd, che)
new_esEs18(vyw500, vyw3000, app(app(ty_@2, eh), fa)) → new_esEs7(vyw500, vyw3000, eh, fa)
new_ltEs15(True, True) → True
new_lt9(vyw31000, vyw32000) → new_esEs8(new_compare7(vyw31000, vyw32000), LT)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, app(app(ty_@2, bag), bah)) → new_ltEs4(vyw3100, vyw3200, bag, bah)
new_lt19(vyw31001, vyw32001, ty_Integer) → new_lt6(vyw31001, vyw32001)
new_ltEs15(False, True) → True
new_esEs22(vyw31001, vyw32001, ty_Double) → new_esEs15(vyw31001, vyw32001)
new_lt17(vyw31000, vyw32000) → new_esEs8(new_compare31(vyw31000, vyw32000), LT)
new_ltEs16(EQ, GT) → True
new_esEs29(vyw50, vyw300, app(ty_[], ee)) → new_esEs9(vyw50, vyw300, ee)
new_lt20(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_lt10(vyw31000, vyw32000, bdh, bea, beb)
new_esEs28(vyw500, vyw3000, app(app(app(ty_@3, ddd), dde), ddf)) → new_esEs4(vyw500, vyw3000, ddd, dde, ddf)
new_esEs22(vyw31001, vyw32001, ty_Integer) → new_esEs12(vyw31001, vyw32001)
new_ltEs20(vyw31002, vyw32002, ty_Double) → new_ltEs5(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Float) → new_esEs16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_lt10(vyw31000, vyw32000, bcc, bcd, bce)
new_compare6(Double(vyw31000, vyw31001), Double(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_compare9(vyw3100, vyw3200) → new_primCmpInt(vyw3100, vyw3200)
new_lt20(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_lt14(vyw31000, vyw32000, bd, be)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Float, ga) → new_ltEs8(vyw31000, vyw32000)
new_lt20(vyw31000, vyw32000, ty_Ordering) → new_lt17(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_Ordering) → new_esEs8(vyw31001, vyw32001)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs15(False, False) → True
new_esEs9(:(vyw500, vyw501), :(vyw3000, vyw3001), ee) → new_asAs(new_esEs18(vyw500, vyw3000, ee), new_esEs9(vyw501, vyw3001, ee))
new_esEs18(vyw500, vyw3000, app(app(ty_Either, ff), fg)) → new_esEs6(vyw500, vyw3000, ff, fg)
new_ltEs20(vyw31002, vyw32002, app(app(ty_@2, cch), cda)) → new_ltEs4(vyw31002, vyw32002, cch, cda)
new_primCmpNat0(Zero, Succ(vyw320000)) → LT
new_compare32(vyw31000, vyw32000, ty_Bool) → new_compare16(vyw31000, vyw32000)
new_ltEs13(Nothing, Nothing, bge) → True
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_@0, ga) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Bool) → new_esEs11(vyw502, vyw3002)
new_esEs8(LT, LT) → True
new_esEs6(Right(vyw500), Left(vyw3000), db, bf) → False
new_esEs6(Left(vyw500), Right(vyw3000), db, bf) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_@2, cbf), cbg)) → new_ltEs4(vyw31000, vyw32000, cbf, cbg)
new_esEs29(vyw50, vyw300, app(app(ty_@2, cac), cad)) → new_esEs7(vyw50, vyw300, cac, cad)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare210(Nothing, Just(vyw3200), False, bga) → LT
new_esEs24(vyw501, vyw3001, app(ty_[], cfh)) → new_esEs9(vyw501, vyw3001, cfh)
new_lt11(vyw31000, vyw32000) → new_esEs8(new_compare19(vyw31000, vyw32000), LT)
new_compare0([], [], bed) → EQ
new_pePe(True, vyw87) → True
new_primEqNat0(Zero, Zero) → True
new_compare26(vyw31000, vyw32000, True) → EQ
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Double, ga) → new_ltEs5(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Char) → new_esEs17(vyw502, vyw3002)
new_esEs23(vyw31000, vyw32000, app(app(ty_Either, bdf), bdg)) → new_esEs6(vyw31000, vyw32000, bdf, bdg)
new_esEs14(@0, @0) → True
new_esEs30(vyw21, vyw16, ty_Double) → new_esEs15(vyw21, vyw16)
new_compare32(vyw31000, vyw32000, app(ty_Ratio, cff)) → new_compare29(vyw31000, vyw32000, cff)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(app(ty_@3, dg), dh), ea)) → new_esEs4(vyw500, vyw3000, dg, dh, ea)
new_ltEs20(vyw31002, vyw32002, ty_Float) → new_ltEs8(vyw31002, vyw32002)
new_esEs22(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_esEs7(vyw31001, vyw32001, ceb, cec)
new_compare30(Integer(vyw31000), Integer(vyw32000)) → new_primCmpInt(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Float) → new_ltEs8(vyw3100, vyw3200)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(app(ty_Either, eb), ec)) → new_esEs6(vyw500, vyw3000, eb, ec)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Double, bf) → new_esEs15(vyw500, vyw3000)
new_ltEs16(EQ, LT) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare32(vyw31000, vyw32000, ty_@0) → new_compare19(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Int) → new_esEs13(vyw50, vyw300)
new_ltEs16(GT, EQ) → False
new_ltEs18(vyw31001, vyw32001, ty_Char) → new_ltEs10(vyw31001, vyw32001)
new_sr(vyw501, vyw3001) → new_primMulInt(vyw501, vyw3001)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_@0) → new_ltEs12(vyw3100, vyw3200)
new_esEs28(vyw500, vyw3000, app(app(ty_Either, ddg), ddh)) → new_esEs6(vyw500, vyw3000, ddg, ddh)
new_lt19(vyw31001, vyw32001, ty_Int) → new_lt8(vyw31001, vyw32001)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Double) → new_esEs15(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, cgb), cgc)) → new_esEs7(vyw501, vyw3001, cgb, cgc)
new_esEs26(vyw502, vyw3002, ty_Ordering) → new_esEs8(vyw502, vyw3002)
new_ltEs19(vyw3100, vyw3200, ty_Char) → new_ltEs10(vyw3100, vyw3200)
new_esEs8(GT, GT) → True
new_esEs30(vyw21, vyw16, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs4(vyw21, vyw16, bfc, bfd, bfe)
new_primPlusNat0(Succ(vyw890), vyw300100) → Succ(Succ(new_primPlusNat1(vyw890, vyw300100)))
new_esEs13(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, app(ty_[], cee)) → new_esEs9(vyw31001, vyw32001, cee)
new_ltEs20(vyw31002, vyw32002, app(app(ty_Either, ccf), ccg)) → new_ltEs6(vyw31002, vyw32002, ccf, ccg)
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_ltEs19(vyw3100, vyw3200, ty_Bool) → new_ltEs15(vyw3100, vyw3200)
new_ltEs10(vyw3100, vyw3200) → new_not(new_esEs8(new_compare7(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs4(vyw502, vyw3002, dah, dba, dbb)
new_ltEs19(vyw3100, vyw3200, app(ty_Ratio, bgf)) → new_ltEs14(vyw3100, vyw3200, bgf)
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_[], dc)) → new_esEs9(vyw500, vyw3000, dc)
new_ltEs5(vyw3100, vyw3200) → new_not(new_esEs8(new_compare6(vyw3100, vyw3200), GT))
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_lt10(vyw31000, vyw32000, bdh, bea, beb) → new_esEs8(new_compare14(vyw31000, vyw32000, bdh, bea, beb), LT)
new_compare27(vyw31000, vyw32000, False, bdh, bea, beb) → new_compare18(vyw31000, vyw32000, new_ltEs11(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_esEs28(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs29(vyw50, vyw300, ty_Bool) → new_esEs11(vyw50, vyw300)
new_esEs26(vyw502, vyw3002, ty_Integer) → new_esEs12(vyw502, vyw3002)
new_esEs28(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare25(vyw31000, vyw32000, True) → EQ
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Integer) → new_compare30(new_sr0(vyw31000, vyw32001), new_sr0(vyw32000, vyw31001))
new_compare32(vyw31000, vyw32000, ty_Ordering) → new_compare31(vyw31000, vyw32000)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(app(ty_@2, gh), ha), ga) → new_ltEs4(vyw31000, vyw32000, gh, ha)
new_ltEs16(LT, EQ) → True
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Double) → new_ltEs5(vyw3100, vyw3200)
new_lt15(vyw31000, vyw32000, bef) → new_esEs8(new_compare29(vyw31000, vyw32000, bef), LT)
new_primPlusNat1(Succ(vyw8900), Zero) → Succ(vyw8900)
new_primPlusNat1(Zero, Succ(vyw3001000)) → Succ(vyw3001000)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, chc)) → new_esEs10(vyw500, vyw3000, chc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs7(vyw3100, vyw3200) → new_not(new_esEs8(new_compare30(vyw3100, vyw3200), GT))
new_ltEs20(vyw31002, vyw32002, ty_@0) → new_ltEs12(vyw31002, vyw32002)
new_esEs19(vyw31000, vyw32000, ty_Integer) → new_esEs12(vyw31000, vyw32000)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_esEs5(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs16(vyw500, vyw3000)
new_esEs23(vyw31000, vyw32000, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs4(vyw31000, vyw32000, bdh, bea, beb)
new_compare7(Char(vyw31000), Char(vyw32000)) → new_primCmpNat0(vyw31000, vyw32000)
new_compare24(vyw31000, vyw32000, True, bdf, bdg) → EQ
new_esEs28(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt20(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_ltEs16(GT, LT) → False
new_compare32(vyw31000, vyw32000, app(ty_[], cfg)) → new_compare0(vyw31000, vyw32000, cfg)
new_esEs28(vyw500, vyw3000, app(app(ty_@2, ddb), ddc)) → new_esEs7(vyw500, vyw3000, ddb, ddc)
new_primCmpNat0(Succ(vyw310000), Succ(vyw320000)) → new_primCmpNat0(vyw310000, vyw320000)
new_ltEs18(vyw31001, vyw32001, app(app(ty_Either, bbe), bbf)) → new_ltEs6(vyw31001, vyw32001, bbe, bbf)
new_esEs18(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs4(vyw500, vyw3000, bhd, bhe, bhf)
new_esEs11(False, False) → True
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_compare10(vyw31000, vyw32000, False, bd, be) → GT
new_lt19(vyw31001, vyw32001, ty_Double) → new_lt4(vyw31001, vyw32001)
new_esEs25(vyw500, vyw3000, app(ty_Maybe, dac)) → new_esEs5(vyw500, vyw3000, dac)
new_compare15(vyw31000, vyw32000, bdf, bdg) → new_compare24(vyw31000, vyw32000, new_esEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs29(vyw50, vyw300, app(ty_Maybe, bgg)) → new_esEs5(vyw50, vyw300, bgg)
new_esEs28(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs11(vyw31001, vyw32001, bba, bbb, bbc)
new_esEs23(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs19(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_esEs6(vyw31000, vyw32000, bcg, bch)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs26(vyw502, vyw3002, ty_Int) → new_esEs13(vyw502, vyw3002)
new_ltEs20(vyw31002, vyw32002, app(ty_[], cdc)) → new_ltEs17(vyw31002, vyw32002, cdc)
new_esEs15(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_esEs27(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs18(vyw31001, vyw32001, ty_@0) → new_ltEs12(vyw31001, vyw32001)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Float, bf) → new_esEs16(vyw500, vyw3000)
new_compare13(Float(vyw31000, vyw31001), Float(vyw32000, vyw32001)) → new_compare9(new_sr(vyw31000, vyw32000), new_sr(vyw31001, vyw32001))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Ratio, bae)) → new_ltEs14(vyw31000, vyw32000, bae)
new_esEs22(vyw31001, vyw32001, ty_Int) → new_esEs13(vyw31001, vyw32001)
new_primCompAux00(vyw98, LT) → LT
new_ltEs19(vyw3100, vyw3200, app(ty_[], bed)) → new_ltEs17(vyw3100, vyw3200, bed)
new_primCmpInt(Neg(Succ(vyw310000)), Neg(vyw32000)) → new_primCmpNat0(vyw32000, Succ(vyw310000))
new_esEs18(vyw500, vyw3000, ty_Char) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs8(vyw501, vyw3001)
new_ltEs6(Left(vyw31000), Right(vyw32000), hd, ga) → True
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Maybe, ed)) → new_esEs5(vyw500, vyw3000, ed)
new_esEs23(vyw31000, vyw32000, ty_Double) → new_esEs15(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Left(vyw32000), hd, ga) → False
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_esEs28(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_lt4(vyw31000, vyw32000) → new_esEs8(new_compare6(vyw31000, vyw32000), LT)
new_compare19(@0, @0) → EQ
new_esEs30(vyw21, vyw16, ty_Float) → new_esEs16(vyw21, vyw16)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw310000), Zero) → GT
new_esEs29(vyw50, vyw300, app(app(app(ty_@3, cae), caf), cag)) → new_esEs4(vyw50, vyw300, cae, caf, cag)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw320000))) → LT
new_compare11(vyw31000, vyw32000, True, bdf, bdg) → LT
new_esEs6(Left(vyw500), Left(vyw3000), ty_@0, bf) → new_esEs14(vyw500, vyw3000)
new_sr0(Integer(vyw310000), Integer(vyw320010)) → Integer(new_primMulInt(vyw310000, vyw320010))
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_[], cca)) → new_ltEs17(vyw31000, vyw32000, cca)
new_compare32(vyw31000, vyw32000, ty_Integer) → new_compare30(vyw31000, vyw32000)
new_primPlusNat1(Succ(vyw8900), Succ(vyw3001000)) → Succ(Succ(new_primPlusNat1(vyw8900, vyw3001000)))
new_esEs6(Left(vyw500), Left(vyw3000), ty_Char, bf) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_lt19(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_lt15(vyw31001, vyw32001, ced)
new_compare210(vyw310, vyw320, True, bga) → EQ
new_esEs27(vyw501, vyw3001, app(ty_Maybe, dcg)) → new_esEs5(vyw501, vyw3001, dcg)
new_esEs30(vyw21, vyw16, ty_Integer) → new_esEs12(vyw21, vyw16)
new_esEs19(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_@0) → new_esEs14(vyw50, vyw300)
new_esEs9([], [], ee) → True
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare32(vyw31000, vyw32000, ty_Int) → new_compare9(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, ty_Bool) → new_esEs11(vyw21, vyw16)
new_primCompAux00(vyw98, EQ) → vyw98
new_primCmpInt(Pos(Zero), Pos(Succ(vyw320000))) → new_primCmpNat0(Zero, Succ(vyw320000))
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cac, cad) → new_asAs(new_esEs25(vyw500, vyw3000, cac), new_esEs24(vyw501, vyw3001, cad))
new_ltEs18(vyw31001, vyw32001, ty_Int) → new_ltEs9(vyw31001, vyw32001)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Int, ga) → new_ltEs9(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, app(app(ty_@2, dbh), dca)) → new_esEs7(vyw501, vyw3001, dbh, dca)
new_esEs27(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_@2, bac), bad)) → new_ltEs4(vyw31000, vyw32000, bac, bad)
new_esEs23(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_esEs10(vyw31000, vyw32000, bef)
new_compare12(vyw31000, vyw32000, False) → GT
new_ltEs16(EQ, EQ) → True
new_esEs23(vyw31000, vyw32000, ty_Bool) → new_esEs11(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, ty_@0) → new_lt11(vyw31001, vyw32001)
new_lt20(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_ltEs8(vyw3100, vyw3200) → new_not(new_esEs8(new_compare13(vyw3100, vyw3200), GT))
new_lt5(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, ty_Float) → new_esEs16(vyw502, vyw3002)
new_esEs30(vyw21, vyw16, app(ty_Ratio, beh)) → new_esEs10(vyw21, vyw16, beh)
new_esEs30(vyw21, vyw16, app(app(ty_Either, bff), bfg)) → new_esEs6(vyw21, vyw16, bff, bfg)
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_@2, ca), cb), bf) → new_esEs7(vyw500, vyw3000, ca, cb)
new_lt20(vyw31000, vyw32000, ty_Char) → new_lt9(vyw31000, vyw32000)
new_not(False) → True
new_esEs6(Left(vyw500), Left(vyw3000), app(app(ty_Either, cf), cg), bf) → new_esEs6(vyw500, vyw3000, cf, cg)
new_esEs30(vyw21, vyw16, ty_@0) → new_esEs14(vyw21, vyw16)
new_ltEs18(vyw31001, vyw32001, app(ty_Ratio, bca)) → new_ltEs14(vyw31001, vyw32001, bca)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs13(vyw501, vyw3001)
new_compare32(vyw31000, vyw32000, ty_Char) → new_compare7(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_lt13(vyw31001, vyw32001, cdh, cea)
new_compare110(vyw72, vyw73, True, cab) → LT
new_primCmpInt(Pos(Succ(vyw310000)), Pos(vyw32000)) → new_primCmpNat0(Succ(vyw310000), vyw32000)
new_primPlusNat0(Zero, vyw300100) → Succ(vyw300100)
new_esEs29(vyw50, vyw300, ty_Integer) → new_esEs12(vyw50, vyw300)
new_esEs19(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_esEs7(vyw31000, vyw32000, bda, bdb)
new_esEs30(vyw21, vyw16, app(app(ty_@2, bfa), bfb)) → new_esEs7(vyw21, vyw16, bfa, bfb)
new_esEs26(vyw502, vyw3002, app(ty_[], dad)) → new_esEs9(vyw502, vyw3002, dad)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs12(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, cgg), cgh)) → new_esEs6(vyw501, vyw3001, cgg, cgh)
new_esEs19(vyw31000, vyw32000, ty_Char) → new_esEs17(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Ratio, bh), bf) → new_esEs10(vyw500, vyw3000, bh)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Bool, ga) → new_ltEs15(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, app(ty_[], dch)) → new_esEs9(vyw500, vyw3000, dch)
new_lt19(vyw31001, vyw32001, ty_Float) → new_lt7(vyw31001, vyw32001)
new_compare17(vyw31000, vyw32000, True) → LT
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, chf), chg), chh)) → new_esEs4(vyw500, vyw3000, chf, chg, chh)
new_lt5(vyw31000, vyw32000, app(app(ty_@2, bda), bdb)) → new_lt14(vyw31000, vyw32000, bda, bdb)
new_esEs27(vyw501, vyw3001, ty_@0) → new_esEs14(vyw501, vyw3001)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_compare0(:(vyw31000, vyw31001), [], bed) → GT
new_compare24(vyw31000, vyw32000, False, bdf, bdg) → new_compare11(vyw31000, vyw32000, new_ltEs6(vyw31000, vyw32000, bdf, bdg), bdf, bdg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs14(vyw500, vyw3000)
new_esEs22(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_esEs4(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs27(vyw501, vyw3001, app(app(ty_Either, dce), dcf)) → new_esEs6(vyw501, vyw3001, dce, dcf)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, cha)) → new_esEs5(vyw501, vyw3001, cha)
new_lt12(vyw31000, vyw32000, bde) → new_esEs8(new_compare8(vyw31000, vyw32000, bde), LT)
new_esEs22(vyw31001, vyw32001, ty_Bool) → new_esEs11(vyw31001, vyw32001)
new_compare11(vyw31000, vyw32000, False, bdf, bdg) → GT
new_esEs19(vyw31000, vyw32000, app(app(app(ty_@3, bcc), bcd), bce)) → new_esEs4(vyw31000, vyw32000, bcc, bcd, bce)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw310000)), Neg(vyw32000)) → GT
new_ltEs19(vyw3100, vyw3200, ty_Int) → new_ltEs9(vyw3100, vyw3200)
new_ltEs9(vyw3100, vyw3200) → new_not(new_esEs8(new_compare9(vyw3100, vyw3200), GT))
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_esEs19(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Double) → new_esEs15(vyw500, vyw3000)
new_primMulInt(Pos(vyw5010), Pos(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt19(vyw31001, vyw32001, app(app(ty_@2, ceb), cec)) → new_lt14(vyw31001, vyw32001, ceb, cec)
new_esEs27(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs13(vyw500, vyw3000)
new_esEs27(vyw501, vyw3001, ty_Char) → new_esEs17(vyw501, vyw3001)
new_esEs27(vyw501, vyw3001, ty_Double) → new_esEs15(vyw501, vyw3001)
new_primMulInt(Neg(vyw5010), Neg(vyw30010)) → Pos(new_primMulNat0(vyw5010, vyw30010))
new_lt5(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_lt5(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_primEqNat0(Succ(vyw5000), Zero) → False
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_lt20(vyw31000, vyw32000, app(ty_Ratio, bef)) → new_lt15(vyw31000, vyw32000, bef)
new_esEs26(vyw502, vyw3002, app(app(ty_@2, daf), dag)) → new_esEs7(vyw502, vyw3002, daf, dag)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_compare23(vyw31000, vyw32000, False, bd, be) → new_compare10(vyw31000, vyw32000, new_ltEs4(vyw31000, vyw32000, bd, be), bd, be)
new_lt5(vyw31000, vyw32000, app(app(ty_Either, bcg), bch)) → new_lt13(vyw31000, vyw32000, bcg, bch)
new_lt8(vyw31000, vyw32000) → new_esEs8(new_compare9(vyw31000, vyw32000), LT)
new_ltEs18(vyw31001, vyw32001, ty_Integer) → new_ltEs7(vyw31001, vyw32001)
new_ltEs18(vyw31001, vyw32001, app(ty_[], bcb)) → new_ltEs17(vyw31001, vyw32001, bcb)
new_esEs19(vyw31000, vyw32000, app(ty_Maybe, bcf)) → new_esEs5(vyw31000, vyw32000, bcf)
new_lt13(vyw31000, vyw32000, bdf, bdg) → new_esEs8(new_compare15(vyw31000, vyw32000, bdf, bdg), LT)
new_esEs29(vyw50, vyw300, app(app(ty_Either, db), bf)) → new_esEs6(vyw50, vyw300, db, bf)
new_ltEs20(vyw31002, vyw32002, ty_Ordering) → new_ltEs16(vyw31002, vyw32002)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs26(vyw502, vyw3002, app(ty_Maybe, dbe)) → new_esEs5(vyw502, vyw3002, dbe)
new_esEs19(vyw31000, vyw32000, app(ty_[], bdd)) → new_esEs9(vyw31000, vyw32000, bdd)
new_esEs27(vyw501, vyw3001, app(ty_Ratio, dbg)) → new_esEs10(vyw501, vyw3001, dbg)
new_compare23(vyw31000, vyw32000, True, bd, be) → EQ
new_primCmpInt(Neg(Zero), Neg(Succ(vyw320000))) → new_primCmpNat0(Succ(vyw320000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw320000))) → GT
new_compare110(vyw72, vyw73, False, cab) → GT
new_esEs6(Left(vyw500), Left(vyw3000), ty_Ordering, bf) → new_esEs8(vyw500, vyw3000)
new_esEs11(False, True) → False
new_esEs11(True, False) → False
new_esEs6(Right(vyw500), Right(vyw3000), db, app(ty_Ratio, dd)) → new_esEs10(vyw500, vyw3000, dd)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Ordering) → new_ltEs16(vyw31000, vyw32000)
new_lt19(vyw31001, vyw32001, app(ty_[], cee)) → new_lt18(vyw31001, vyw32001, cee)
new_esEs26(vyw502, vyw3002, ty_@0) → new_esEs14(vyw502, vyw3002)
new_esEs27(vyw501, vyw3001, app(ty_[], dbf)) → new_esEs9(vyw501, vyw3001, dbf)
new_lt20(vyw31000, vyw32000, ty_Float) → new_lt7(vyw31000, vyw32000)
new_esEs25(vyw500, vyw3000, app(ty_[], chb)) → new_esEs9(vyw500, vyw3000, chb)
new_esEs23(vyw31000, vyw32000, ty_Int) → new_esEs13(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Bool) → new_ltEs15(vyw31000, vyw32000)
new_ltEs17(vyw3100, vyw3200, bed) → new_not(new_esEs8(new_compare0(vyw3100, vyw3200, bed), GT))
new_compare14(vyw31000, vyw32000, bdh, bea, beb) → new_compare27(vyw31000, vyw32000, new_esEs4(vyw31000, vyw32000, bdh, bea, beb), bdh, bea, beb)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(ty_Maybe, cbc)) → new_ltEs13(vyw31000, vyw32000, cbc)
new_compare8(vyw31000, vyw32000, bde) → new_compare210(vyw31000, vyw32000, new_esEs5(vyw31000, vyw32000, bde), bde)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(ty_Either, baa), bab)) → new_ltEs6(vyw31000, vyw32000, baa, bab)
new_compare16(vyw31000, vyw32000) → new_compare25(vyw31000, vyw32000, new_esEs11(vyw31000, vyw32000))
new_esEs23(vyw31000, vyw32000, ty_@0) → new_esEs14(vyw31000, vyw32000)
new_ltEs14(vyw3100, vyw3200, bgf) → new_not(new_esEs8(new_compare29(vyw3100, vyw3200, bgf), GT))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(app(app(ty_@3, he), hf), hg)) → new_ltEs11(vyw31000, vyw32000, he, hf, hg)
new_ltEs13(Just(vyw31000), Nothing, bge) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare32(vyw31000, vyw32000, ty_Float) → new_compare13(vyw31000, vyw32000)
new_esEs28(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_compare32(vyw31000, vyw32000, app(app(app(ty_@3, cef), ceg), ceh)) → new_compare14(vyw31000, vyw32000, cef, ceg, ceh)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, app(ty_Maybe, hh)) → new_ltEs13(vyw31000, vyw32000, hh)
new_asAs(False, vyw79) → False
new_lt5(vyw31000, vyw32000, app(ty_[], bdd)) → new_lt18(vyw31000, vyw32000, bdd)
new_lt20(vyw31000, vyw32000, ty_Bool) → new_lt16(vyw31000, vyw32000)
new_primMulInt(Pos(vyw5010), Neg(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_primMulInt(Neg(vyw5010), Pos(vyw30010)) → Neg(new_primMulNat0(vyw5010, vyw30010))
new_compare32(vyw31000, vyw32000, app(app(ty_Either, cfb), cfc)) → new_compare15(vyw31000, vyw32000, cfb, cfc)
new_primMulNat0(Zero, Succ(vyw300100)) → Zero
new_primMulNat0(Succ(vyw50100), Zero) → Zero
new_ltEs20(vyw31002, vyw32002, ty_Bool) → new_ltEs15(vyw31002, vyw32002)
new_ltEs20(vyw31002, vyw32002, ty_Integer) → new_ltEs7(vyw31002, vyw32002)
new_lt5(vyw31000, vyw32000, ty_Int) → new_lt8(vyw31000, vyw32000)
new_esEs18(vyw500, vyw3000, app(ty_[], ef)) → new_esEs9(vyw500, vyw3000, ef)
new_esEs23(vyw31000, vyw32000, app(app(ty_@2, bd), be)) → new_esEs7(vyw31000, vyw32000, bd, be)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_@0) → new_ltEs12(vyw31000, vyw32000)
new_esEs29(vyw50, vyw300, ty_Char) → new_esEs17(vyw50, vyw300)
new_compare29(:%(vyw31000, vyw31001), :%(vyw32000, vyw32001), ty_Int) → new_compare9(new_sr(vyw31000, vyw32001), new_sr(vyw32000, vyw31001))
new_compare12(vyw31000, vyw32000, True) → LT
new_esEs18(vyw500, vyw3000, app(ty_Maybe, fh)) → new_esEs5(vyw500, vyw3000, fh)
new_lt19(vyw31001, vyw32001, ty_Bool) → new_lt16(vyw31001, vyw32001)
new_lt19(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_lt12(vyw31001, vyw32001, cdg)
new_ltEs4(@2(vyw31000, vyw31001), @2(vyw32000, vyw32001), bag, bah) → new_pePe(new_lt5(vyw31000, vyw32000, bag), new_asAs(new_esEs19(vyw31000, vyw32000, bag), new_ltEs18(vyw31001, vyw32001, bah)))
new_esEs18(vyw500, vyw3000, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_lt5(vyw31000, vyw32000, ty_Integer) → new_lt6(vyw31000, vyw32000)
new_esEs11(True, True) → True
new_compare210(Just(vyw3100), Nothing, False, bga) → GT
new_esEs23(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_esEs5(vyw31000, vyw32000, bde)
new_compare18(vyw31000, vyw32000, False, bdh, bea, beb) → GT
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_Maybe, da), bf) → new_esEs5(vyw500, vyw3000, da)
new_lt19(vyw31001, vyw32001, app(app(app(ty_@3, cdd), cde), cdf)) → new_lt10(vyw31001, vyw32001, cdd, cde, cdf)
new_esEs29(vyw50, vyw300, app(ty_Ratio, bee)) → new_esEs10(vyw50, vyw300, bee)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs13(vyw500, vyw3000)
new_ltEs18(vyw31001, vyw32001, app(ty_Maybe, bbd)) → new_ltEs13(vyw31001, vyw32001, bbd)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, cga)) → new_esEs10(vyw501, vyw3001, cga)
new_esEs5(Just(vyw500), Just(vyw3000), app(ty_Ratio, bha)) → new_esEs10(vyw500, vyw3000, bha)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs12(vyw501, vyw3001)
new_esEs22(vyw31001, vyw32001, app(ty_Ratio, ced)) → new_esEs10(vyw31001, vyw32001, ced)
new_esEs5(Just(vyw500), Nothing, bgg) → False
new_esEs5(Nothing, Just(vyw3000), bgg) → False
new_esEs30(vyw21, vyw16, ty_Int) → new_esEs13(vyw21, vyw16)
new_lt18(vyw31000, vyw32000, bec) → new_esEs8(new_compare0(vyw31000, vyw32000, bec), LT)
new_esEs29(vyw50, vyw300, ty_Double) → new_esEs15(vyw50, vyw300)
new_esEs22(vyw31001, vyw32001, ty_Float) → new_esEs16(vyw31001, vyw32001)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs15(vyw500, vyw3000)
new_compare25(vyw31000, vyw32000, False) → new_compare12(vyw31000, vyw32000, new_ltEs15(vyw31000, vyw32000))
new_esEs9(:(vyw500, vyw501), [], ee) → False
new_esEs9([], :(vyw3000, vyw3001), ee) → False
new_ltEs19(vyw3100, vyw3200, app(ty_Maybe, bge)) → new_ltEs13(vyw3100, vyw3200, bge)
new_ltEs19(vyw3100, vyw3200, app(app(app(ty_@3, bgb), bgc), bgd)) → new_ltEs11(vyw3100, vyw3200, bgb, bgc, bgd)
new_esEs19(vyw31000, vyw32000, app(ty_Ratio, bdc)) → new_esEs10(vyw31000, vyw32000, bdc)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_Either, bhg), bhh)) → new_esEs6(vyw500, vyw3000, bhg, bhh)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_esEs4(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cae, caf, cag) → new_asAs(new_esEs28(vyw500, vyw3000, cae), new_asAs(new_esEs27(vyw501, vyw3001, caf), new_esEs26(vyw502, vyw3002, cag)))
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Double) → new_ltEs5(vyw31000, vyw32000)
new_esEs22(vyw31001, vyw32001, ty_@0) → new_esEs14(vyw31001, vyw32001)
new_esEs5(Nothing, Nothing, bgg) → True
new_esEs22(vyw31001, vyw32001, app(app(ty_Either, cdh), cea)) → new_esEs6(vyw31001, vyw32001, cdh, cea)
new_esEs28(vyw500, vyw3000, app(ty_Maybe, dea)) → new_esEs5(vyw500, vyw3000, dea)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Ordering, ga) → new_ltEs16(vyw31000, vyw32000)
new_esEs6(Left(vyw500), Left(vyw3000), ty_Int, bf) → new_esEs13(vyw500, vyw3000)
new_esEs18(vyw500, vyw3000, ty_Bool) → new_esEs11(vyw500, vyw3000)
new_esEs30(vyw21, vyw16, ty_Char) → new_esEs17(vyw21, vyw16)
new_ltEs6(Left(vyw31000), Left(vyw32000), ty_Integer, ga) → new_ltEs7(vyw31000, vyw32000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Integer) → new_ltEs7(vyw31000, vyw32000)
new_ltEs19(vyw3100, vyw3200, ty_Integer) → new_ltEs7(vyw3100, vyw3200)
new_esEs30(vyw21, vyw16, ty_Ordering) → new_esEs8(vyw21, vyw16)
new_esEs22(vyw31001, vyw32001, app(ty_Maybe, cdg)) → new_esEs5(vyw31001, vyw32001, cdg)
new_compare26(vyw31000, vyw32000, False) → new_compare17(vyw31000, vyw32000, new_ltEs16(vyw31000, vyw32000))
new_esEs26(vyw502, vyw3002, app(app(ty_Either, dbc), dbd)) → new_esEs6(vyw502, vyw3002, dbc, dbd)
new_ltEs6(Left(vyw31000), Left(vyw32000), app(ty_Maybe, ge), ga) → new_ltEs13(vyw31000, vyw32000, ge)
new_ltEs18(vyw31001, vyw32001, ty_Bool) → new_ltEs15(vyw31001, vyw32001)
new_compare0([], :(vyw32000, vyw32001), bed) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs18(vyw31001, vyw32001, ty_Ordering) → new_ltEs16(vyw31001, vyw32001)
new_esEs10(:%(vyw500, vyw501), :%(vyw3000, vyw3001), bee) → new_asAs(new_esEs21(vyw500, vyw3000, bee), new_esEs20(vyw501, vyw3001, bee))
new_asAs(True, vyw79) → vyw79
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_primMulNat0(Succ(vyw50100), Succ(vyw300100)) → new_primPlusNat0(new_primMulNat0(vyw50100, Succ(vyw300100)), vyw300100)
new_esEs27(vyw501, vyw3001, ty_Float) → new_esEs16(vyw501, vyw3001)
new_esEs30(vyw21, vyw16, app(ty_Maybe, bfh)) → new_esEs5(vyw21, vyw16, bfh)
new_esEs5(Just(vyw500), Just(vyw3000), app(app(ty_@2, bhb), bhc)) → new_esEs7(vyw500, vyw3000, bhb, bhc)
new_ltEs12(vyw3100, vyw3200) → new_not(new_esEs8(new_compare19(vyw3100, vyw3200), GT))
new_esEs26(vyw502, vyw3002, ty_Double) → new_esEs15(vyw502, vyw3002)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_ltEs16(LT, LT) → True
new_compare17(vyw31000, vyw32000, False) → GT
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Float) → new_esEs16(vyw500, vyw3000)
new_compare27(vyw31000, vyw32000, True, bdh, bea, beb) → EQ
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs11(vyw31000, vyw32000, cah, cba, cbb)
new_esEs16(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs13(new_sr(vyw500, vyw3000), new_sr(vyw501, vyw3001))
new_lt20(vyw31000, vyw32000, ty_@0) → new_lt11(vyw31000, vyw32000)
new_compare31(vyw31000, vyw32000) → new_compare26(vyw31000, vyw32000, new_esEs8(vyw31000, vyw32000))
new_esEs19(vyw31000, vyw32000, ty_Ordering) → new_esEs8(vyw31000, vyw32000)
new_ltEs18(vyw31001, vyw32001, ty_Double) → new_ltEs5(vyw31001, vyw32001)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Int) → new_ltEs9(vyw31000, vyw32000)
new_lt6(vyw31000, vyw32000) → new_esEs8(new_compare30(vyw31000, vyw32000), LT)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Right(vyw31000), Right(vyw32000), hd, ty_Float) → new_ltEs8(vyw31000, vyw32000)
new_ltEs13(Just(vyw31000), Just(vyw32000), ty_Char) → new_ltEs10(vyw31000, vyw32000)
new_esEs30(vyw21, vyw16, app(ty_[], beg)) → new_esEs9(vyw21, vyw16, beg)
new_ltEs18(vyw31001, vyw32001, app(app(ty_@2, bbg), bbh)) → new_ltEs4(vyw31001, vyw32001, bbg, bbh)
new_ltEs13(Just(vyw31000), Just(vyw32000), app(app(ty_Either, cbd), cbe)) → new_ltEs6(vyw31000, vyw32000, cbd, cbe)
new_lt20(vyw31000, vyw32000, ty_Double) → new_lt4(vyw31000, vyw32000)
new_compare210(Just(vyw3100), Just(vyw3200), False, bga) → new_compare110(vyw3100, vyw3200, new_ltEs19(vyw3100, vyw3200, bga), bga)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs4(vyw501, vyw3001, cgd, cge, cgf)
new_compare28(vyw31000, vyw32000, bd, be) → new_compare23(vyw31000, vyw32000, new_esEs7(vyw31000, vyw32000, bd, be), bd, be)
new_ltEs20(vyw31002, vyw32002, ty_Char) → new_ltEs10(vyw31002, vyw32002)
new_primCompAux00(vyw98, GT) → GT
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs11(vyw501, vyw3001)
new_esEs6(Left(vyw500), Left(vyw3000), app(ty_[], bg), bf) → new_esEs9(vyw500, vyw3000, bg)
new_esEs6(Right(vyw500), Right(vyw3000), db, ty_Ordering) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(vyw50, vyw300, ty_Ordering) → new_esEs8(vyw50, vyw300)
new_lt19(vyw31001, vyw32001, ty_Char) → new_lt9(vyw31001, vyw32001)
new_ltEs19(vyw3100, vyw3200, app(app(ty_Either, hd), ga)) → new_ltEs6(vyw3100, vyw3200, hd, ga)
new_lt20(vyw31000, vyw32000, app(ty_Maybe, bde)) → new_lt12(vyw31000, vyw32000, bde)
new_esEs18(vyw500, vyw3000, app(ty_Ratio, eg)) → new_esEs10(vyw500, vyw3000, eg)
new_esEs5(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs17(vyw500, vyw3000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs18(vyw500, vyw3000, ty_Float) → new_esEs16(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw310000)), Pos(vyw32000)) → LT
new_compare32(vyw31000, vyw32000, app(ty_Maybe, cfa)) → new_compare8(vyw31000, vyw32000, cfa)
new_not(True) → False

The set Q consists of the following terms:

new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare14(x0, x1, x2, x3, x4)
new_esEs6(Right(x0), Right(x1), x2, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs11(True, True)
new_lt4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1)
new_esEs18(x0, x1, app(ty_Maybe, x2))
new_esEs5(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True, x2, x3)
new_lt9(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_esEs6(Right(x0), Right(x1), x2, ty_Double)
new_compare0(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_primPlusNat1(Zero, Succ(x0))
new_primCompAux00(x0, LT)
new_esEs27(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, True, x2, x3, x4)
new_esEs6(Left(x0), Left(x1), ty_@0, x2)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_esEs18(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_compare9(x0, x1)
new_esEs24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs18(x0, x1, app(app(ty_Either, x2), x3))
new_asAs(True, x0)
new_primCmpNat0(Zero, Succ(x0))
new_esEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs15(True, True)
new_lt5(x0, x1, ty_Float)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt14(x0, x1, x2, x3)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, x0)
new_esEs8(GT, GT)
new_esEs26(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs9(x0, x1)
new_esEs18(x0, x1, app(ty_Ratio, x2))
new_esEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(LT, LT)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt5(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, True)
new_ltEs19(x0, x1, ty_Integer)
new_compare26(x0, x1, True)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs17(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Char, x2)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_asAs(False, x0)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(x0, x1)
new_primEqNat0(Succ(x0), Zero)
new_compare26(x0, x1, False)
new_compare13(Float(x0, x1), Float(x2, x3))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs19(x0, x1, ty_Bool)
new_esEs6(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_Char)
new_compare15(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs20(x0, x1, ty_Float)
new_compare27(x0, x1, False, x2, x3, x4)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, x2, x3)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCompAux0(x0, x1, x2, x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt8(x0, x1)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs6(Left(x0), Left(x1), ty_Int, x2)
new_compare24(x0, x1, False, x2, x3)
new_esEs5(Nothing, Nothing, x0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_compare29(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare10(x0, x1, True, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Ordering)
new_compare210(x0, x1, True, x2)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(Nothing, Just(x0), False, x1)
new_esEs19(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs28(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Float)
new_esEs18(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(False, False)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, ty_Int)
new_primCompAux00(x0, GT)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, ty_Bool)
new_esEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_compare23(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_primCompAux00(x0, EQ)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs9(:(x0, x1), [], x2)
new_lt5(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Integer)
new_ltEs14(x0, x1, x2)
new_ltEs16(EQ, EQ)
new_esEs18(x0, x1, ty_Double)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_compare6(Double(x0, x1), Double(x2, x3))
new_esEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Int)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(:(x0, x1), :(x2, x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs18(x0, x1, ty_@0)
new_ltEs16(LT, LT)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_compare31(x0, x1)
new_esEs18(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs15(Double(x0, x1), Double(x2, x3))
new_esEs29(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare210(Just(x0), Just(x1), False, x2)
new_lt15(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Bool)
new_esEs5(Just(x0), Just(x1), ty_Float)
new_lt19(x0, x1, ty_@0)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2)
new_esEs6(Left(x0), Left(x1), ty_Double, x2)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_lt19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs18(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Int)
new_ltEs18(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_compare25(x0, x1, True)
new_esEs24(x0, x1, ty_Double)
new_esEs5(Just(x0), Just(x1), ty_Double)
new_compare16(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt5(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_esEs19(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Float)
new_compare12(x0, x1, False)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_ltEs16(GT, GT)
new_esEs25(x0, x1, ty_Double)
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_compare18(x0, x1, False, x2, x3, x4)
new_esEs5(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare17(x0, x1, False)
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs5(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Left(x0), Left(x1), ty_Float, x2)
new_compare32(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_compare0([], [], x0)
new_esEs30(x0, x1, ty_Double)
new_esEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Just(x0), Just(x1), ty_Integer)
new_esEs5(Just(x0), Just(x1), ty_Ordering)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_@0)
new_compare28(x0, x1, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs12(Integer(x0), Integer(x1))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare12(x0, x1, True)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs6(Right(x0), Right(x1), x2, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, x2, x3, x4)
new_not(True)
new_esEs6(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs18(x0, x1, ty_Bool)
new_compare30(Integer(x0), Integer(x1))
new_lt16(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_lt19(x0, x1, ty_Int)
new_esEs9([], [], x0)
new_esEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_not(False)
new_lt19(x0, x1, ty_Float)
new_ltEs12(x0, x1)
new_ltEs16(LT, EQ)
new_ltEs16(EQ, LT)
new_esEs5(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_compare23(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Ordering)
new_lt6(x0, x1)
new_sr(x0, x1)
new_esEs6(Right(x0), Left(x1), x2, x3)
new_esEs6(Left(x0), Right(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Succ(x0))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_compare19(@0, @0)
new_compare7(Char(x0), Char(x1))
new_esEs22(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_compare210(Nothing, Nothing, False, x0)
new_compare8(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_compare210(Just(x0), Nothing, False, x1)
new_esEs29(x0, x1, ty_@0)
new_esEs9([], :(x0, x1), x2)
new_esEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare32(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_pePe(True, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_compare25(x0, x1, False)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(x0, x1)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Just(x1), ty_@0)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs5(Just(x0), Nothing, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs6(Left(x0), Left(x1), ty_Ordering, x2)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: